Xcode 8 支持两种签名方式,自动化签名 ( Automatic Singing )和自定义签名( Customized Signing ) 的。
1. 自动化签名 (Automatic Singing)
在这种模式下,必须要登录自己的开发者账号,Xcode 全自动的为我们管理整个签名的流程,整个过程会在后台执行,会保证所有签名需要的文件是最新的。
我们所需要做的就是勾选上自动化签名,然后选择 team。剩下的 Xcode 都会接管。比如创建证书,创建和更新 profile 等等。但是当插入了一台新的 iOS 设备,Xcode 8 还是会提示是否把这台设备添加到测试设备中,如果选择是,Xcode 8 会自动添加到设备列表里,并自动更新 profile 文件。
Xcode 自动化签名只会自动化开发阶段的签名,不会修改发布的签名设置。既然这样,如何设置 release 版本的签名呢?其实我们在 Archive 的时候,Xcode 默认使用的还是开发证书做的签名,然后在 Orgnizer 里选择 export 到 App Store 发布版本的时候,会让我们重新选择 证书重新签名,这里再选择发布证书。
2. 自定义签名(Customized Signing)
如果我们想自己管理签名所需的文件,可以选择自定义签名方式。这种模式下,不需要登录开发者账号,Xcode 不会对签名设置做任何的修改。
操作很简单,就是取消勾选自动化签名,然后就可以对每个 build configuration 做不同的签名设置了,注意不用去 Build Setting 里设置了,直接 General 里就可以完成签名的设置了。如下图,对免费版和收费版设置不同的 profile。
总结一下:如果我们在多台mac上做开发,需要真机调试,又不想把开发者账号给别人,那就选择自定义签名方式,并导入.mobileprovision文件。