Apple DEV - Provision Profile

返回目录

一个App ID可以为不同的环境、不同的设备、不同的开发者创建多个ProvProf(描述文件),其中ProvProf(Development/Ad Hoc)中包括:

  • App ID
  • 授权开发者证书
  • 授权调试设备

新加一个Provisioning Profile

provprof

  • ####Development
    开发环境是将一个App ID对应到指定开发者和指定的开发设备。
  • ####Distribution
    • #####Ad Hoc
      Ad Hoc是专门为测试而生,和Development一样,指定开发设备,但所使用的却是公司的Cert(iOS Certificate),除此之外,它会对ipa进行一次签名,这样就可以远程分发。像TestFlight等就是对AdHoc所产生ipa的分发。
    • #####App Store
      选定App ID和公司,然后OK了。

然后,选择要新的ProvProf的App ID,

  • 如果是Development的话,需要选择下用来发布对应的开发者。
  • 如果是Distribution的话,则选择发布所用的证书,一般是公司名。(iOS Distrbution)。

如果选择的是Development或者AdHoc,还要选定profile里所包含的设备,也就是说只有这些设备才能运行该App。

最后选择可供build的设备。再给Provisioning Profile起个名字(可改),就完成了。

最后下载这个*.mobileprovision,在本地双击就可以导入了。。

本地管理Provisioning Profile

provprof

iPhone Configuration Utility 很好用的一个工具,可以对iPhone及开发者证书进行管理。

也可以在XCode Refrence中的Accounts来进行管理。

通过Xcode,可以很方便的将账号下的Cert和Provisioning Profiles同步到本地。不用一个个单独下载(只是有时会抽风)。

provprof

结构

拿Ad Hoc方式的配置文件来举例,按照之前说的,Ad Hoc能够在不发布到App Store的前提下允许指定的设备安装App,那这个配置文件中肯定就包含Devices信息,同时也包含App ID,另外还包含一个发布状态下的Certificate。

provprof

到这里,或许你会有疑问,正式发布状态下的配置文件应该是怎样的,首先要说的是,正式发布App时,Provisioning Profile是不需要提前安装到用户手机上的,如果这样的话,那估计Apple就傻了。在正式发布到Apple Store时,发布状态的Provisioning Profile已经以签名的方式和App进行了绑定,有一点不同的是,发布状态的Provisioning Profile不需要指定Device,因为它不知道将被哪些设备使用,下图是发布状态下的配置文件结构。

provprof

如果是Company类型的开发者账号,可以生成一个供团队使用的Team Provisioning Profile,通过这个配置文件,团队内成员可以共用一个配置文件来进行开发调试,当然,App ID得指定成通配类型的。

每一个苹果开发者账号只有一个Agent权限,就就是说,最终真正有权限发布到App Store的人就是这个开发者账号的拥有者,他的身份类型就是Agent,另外还有两种身份类型,一种是Admin,一种是Member,关于更多团队账号角色的信息,你可以参考这里

provprof

实践:

我们的做法是为每一个环境都创建一个Provision Profile,(* DEV, * AdHoc, * AppStore)在Xcode TARGETS中设置Team,和Provisioning Profile中设置* DEV

AdHoc发布会在Organizer > Export中选择Provision来添加签名,所以上面可以一直设置* DEV,而无需改动。

REF::