双葉幼稚園 A Layman's Repository

iOS dev: 将 Xcode 中的 CODE SIGN IDENTITY 分离出 VCS

做 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 进去。

参考:http://respectthecode.co/2011/06/11/xcode-4-and-xcconfig-files/