Ris*_*shi 5 terminal xcode continuous-integration xcodebuild xcode-server
我想在不使用Xcode IDE的情况下而是通过终端命令(确切地说是Codesigning Identity和Provisioning Profile)来更改.xcodeproj的构建设置。
我搜索了所有内容,但是只发现了从终端构建/归档项目的命令,这是我不想要的。我想要的只是更改设置,以便当我在Xcode中打开项目时,它的签名标识和配置文件设置为我在Terminal中设置的设置。
Xcodebuild命令只是使用我作为参数传递的内容来构建/归档项目,它没有将它们设置为项目的构建设置中的值。
xcodebuild -target <target-name> -showBuildSettings在我的项目所在的终端上运行,可以为我提供项目的完整构建设置,但是我没有任何设置方法。
我在这里也阅读了有关using的信息-setObject,但这也无济于事,因为它也使用我提供的参数值而不是实际设置它们来构建代码。
当前使用Xcode 6.3和Xcode 7。
任何帮助将不胜感激。
所有 Xcode 设置实际上都存储在<project-name>.xcodeproj/project.pbxproj. 看起来像
buildSettings = {
CODE_SIGN_ENTITLEMENTS = "";
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
...
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
SKIP_INSTALL = YES;
};
Run Code Online (Sandbox Code Playgroud)
代码签名身份由CODE_SIGN_IDENTITY密钥控制,供应配置文件由PROVISIONING_PROFILE密钥控制。
的project.pbxproj是,可以通过传统的文本处理工具,CLI可以编辑的文本文件,如sed的用
sed -ie 's/CODE_SIGN_IDENTITY = "iPhone Developer"/CODE_SIGN_IDENTITY = ""/g' <project-name>.xcodeproj/project.pbxproj
sed -ie 's/PROVISIONING_PROFILE = ""/PROVISIONING_PROFILE = "1c28c979-6bef-4917-aa34-92aecd91315c";/g' <project-name>.xcodeproj/project.pbxproj
Run Code Online (Sandbox Code Playgroud)
你可以得到可用的列表签名标识与
security find-identity -v -p codesigning
Run Code Online (Sandbox Code Playgroud)
对于PROVISIONING_PROFILE,它是配置文件的UUID,可以使用
grep -aA1 UUID /path/to/mobileprovision
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2369 次 |
| 最近记录: |