苹果打包一个跳不过去的坎,就是签名。
总的来说,apple的这波操作就相当于“高速公路上设置了个收费站”。苹果通过“证书+签名+认证”的方式来达到向开发者收费的目的。
接下来对签名需要知道的几个文件一一说明。

1. Certificates-证书

  • Certificates-证书,是一个用来认证开发者身份的东西,没有它就不能在app store发布应用,也不能给测试手机安装你开发的应用。
  • 大家都知道苹果开发者是付费的,其实开发者付费就主要就是用来申请这个证书的。
  • 所以,只要你要在苹果设备上发布应用,“证书”是必需要有的(人家是需要收钱的)。
  • 申请证书需要到苹果官网:developer.apple.com
  • 如果你已经购买了开发者账号,进入官网后进入account页就会看到证书入口,点进去即可申请创建证书。如下图(如果没有购买开发者账号,证书页面是进不去的)

2a48a1792ad17cfadc26701c81010d7a.png
  • 点击“Certificates,Identifiers&Profiles”选项,进入如下页面。

556c6203e1c83e272d9ced39bb30fbb1.png
  • 点击左上角Certificates文字右侧的“+”号来创建一个新证书,如下图

8597ca397be574b7a0cc95b37ae06cbe.png
  • 对于要发布到iphone app store的手游项目我们只需要关注红框里的四个选项就行,这里做一下简要说明
  1. apple提供了2种证书,Development和Distribution。
  2. Development用于开发调试,项目初期需要频繁调式查看真机log,最好选用此种证书。
  3. Distribution用于线上发布或者发布前的内部测试,项目后期,要做内部分发测试或者上线appstore,接入第三方分发平台选用此种证书。
  4. 至于时选用Apple开头的还是iOS开头的,都可以,猜测可能后期apple想要统一所有设备证书都使用Apple开头的那两个证书。

2. Identifiers-标识

  • 对于ios app来说也称之为 AppID,apple使用此标识来识别一个app。
  • 因为你最终开发的app要安装到用户的苹果手机上所以你在开发的时候就要告诉苹果你的app叫什么名字,这样就不会和其他开发者产生冲突。
  • 要注意的是这个名字不是我们在手机上看到的应用名称,而是一个用来标识一个app的唯一一串字符。
  • appid申请操作比较简单,唯一需要说明的就是Bundle ID选项
  1. 苹果的app id分为2种,一种是explicit ID , 直译为 显式ID, 一种是wildcard ID ,直译 通配ID。在创建app id的时候可以设置,创建之后类型不可切换。
  2. 2种ID最直观的区别,explicit ID必须是全名,比如 com.lc.test , wildcard ID最后一个段为星号(*),比如 com.lc.* 。
  3. wildcard ID的星号部分,可以随便替换,不影响打包,而且不同的后缀打包出的app不同(简单的说就是一个wildcard ID如果最后的星号部分不同,安装到机器上后是2个app,不会相互覆盖)。explicit ID 不能改。
  4. wildcard ID不能使用 iap,game center , 推送 , explicit ID可以。
  5. 最后总结,explicit ID基本是用来上appstore的(主要是有game center ,推送,iap等权限)。wildcard ID 很适合走非官方平台。非官方的多个平台可以以最后的通配符做区分,安装到手机后是多个app,互不影响。

904d35b59cdce266ff2f2121a01159ac.png

3. Devices-设备

  • 苹果的每一台设备都有一个唯一标识那就是udid。
  • 开发过程中苹果是不允许设备随意安装你的app的,只有把设备和证书关联,关联后的设备才能安装开发中的应用。
  • 开发过程中要想安装应用需要在苹果官网添加设备的udid。操作比较简单就不再赘述。
  • 苹果的个人开发者账号最多可以绑定100台设备。
  • 并且设备绑定后在到你开发者账号到期的这一年内是无法删除的。要到下次续费的时候才能修改,所以设备名额要省着点用。

4. Profiles-配置

  • profile-配置,就相当于把上面三种信息整合到一个文件,最终会打包进安装包里。
  • 在安装到手机的时候会根据配置里的信息进行验证,只有验证通过才能安装到设备中,否则会无法安装。
  • 这里需要注意的是,每次添加完设备的udid xcode里都需要更新一次profile配置文件,这样xcode才能把最新的设备绑定信息打进包里,如果不更新有可能会出现安装失败。
  • xcode会根据你自己的配置自动从官网下载profile文件,文件存放在mac的 ~/Library/MobileDevice/Provisioning/Profiles 路径下,把此路径下的文件删除即可。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐