做 iOS 开发的时候每个人都有不同的开发者证书/私钥,只有通过这个私钥进行代码签名之后 app 才能在 iPhone 上运行起来。项目中用来确定使用哪个私钥签名的配置文件是project.pbxproj
,由于它也记录了项目地很多其它信息,所以它往往会出现在版本控制系统中,这样就造成只有一个人能够成功地签名。好在我们可以通过 .xcconfig
文件来将这个配置抽离出来。
首先新建一个文件(Cmd+N),在 Other 中选择 Configuration Settings File,新建一个配置文件 CodeSign.xcconfig
。在这个文件中添加一行:
CODE_SIGN_IDENTITY = iPhone Developer: 人甲 路 (XXXXXXXXXX)
,其中证书的名称可以在 Keychain Access 里面找到。
之后删除原来 project.pbxproj
里面的签名,直接在 build settings 里面删除就好,注意 project 和 target 的都要删掉(都选中之后 Cmd+delete)。
最后在 Project 的 info 中,看到 Configuration 一栏,在 Based on Configuration File,选择我们创建的文件 CodeSign。
最后在 build settings 里面应该是这个样子:(项目和目标那一栏都是空的)
最后注意不要把 CodeSign.xcconfig
check in 进去。