macpro-late2013-240
公司新入了一个“垃圾桶”,需要重新配置好开发编译环境,几个人轮番上阵,又折腾了一番才搞定!
Certificates, Identifiers & Profiles
登录Apple Developer账号,选择这个选项:
右侧列表中,主要包含了以下信息:
- OS
坑1 —— 一开始完全没注意还区分了平台的,以至于在Xcode里新建Mac的证书,纳闷网站上怎么一直没显示。
- Certificate
证书是用来给应用程序签名的,只有经过签名的应用程序才能保证他的来源是可信任的,并且代码是完整的, 未经修改的。
在Xcode Build Setting的Code Signing Identity中,你可以设置用于为代码签名的证书。
- App IDs
App ID用于标识一个或者一组App,App ID应该是和Xcode中的Bundle ID是一致的或者匹配的。App ID主要有以下两种:- Explicit App ID:唯一的App ID,这种App ID用于唯一标识一个应用程序,例如com.ABC.demo1,标识Bundle ID为com.ABC.demo1的程序。
- Wildcard App ID:通配符App ID,用于标识一组应用程序。例如可以表示所有应用程序,而com.ABC.可以表示以com.ABC开头的所有应用程序。
- Devices
各种IOS设备,每台设备使用UDID来唯一标识。
- Provisioning Profiles
一个Provisioning Profile文件包含了上述的所有内容:证书、App ID、设备。
对应配置
首先通过菜单Xcode->Preferences
打开配置窗口。
通过Add Apple ID
添加一个Apple Developer账户。
登录成功后点击Manage Cerifacates
,弹出的对话框中会列举出你账户下所有证书信息及状态。
点击左下角“+”号,选择类型,如果该类型下没有对应的证书,Xcode会为你自动创建一个。
我们一开始搞不清该用iOS Development
还是macOS Development
,账号下已有IOS的了,点击macOS自动创建后由于坑1一直没找着对应的项,也无法创建对应的Provisioning Profile,搞得绕了好大一圈。
事实证明两类证书都需要,编译Mac本地“Development Editor”需要macOS Development
,编译IOS设备“Development”就需要iOS Development
,这也引申出了坑2。
坑2 —— 不同的Build Configuration
对应不同的SDK,需要对应的Certificate及Provisioning Profile,这三者的对应关系配不对,就会导致无法正常编译。
SDK
Code Signing Identity
同时当Build Configuration
、Signing Certificate
对应正确时,在Download Profile
中会为你列举出对应的文件,直接选择就可以了。
只要搞清楚这几个对应关系,今后再有类似配置也都迎刃而解啦!