我想在不使用 Xcode IDE 的情况下更改 .xcodeproj 的构建设置,而是通过终端命令(准确地说是 Codesigning Identity 和 Provisioning Profile)。
我已经搜索遍了,但只找到了从终端构建/存档项目的命令,我不想要。我想要的只是更改设置,以便当我在 Xcode 中打开项目时,它的签名身份和配置文件设置为我在终端中设置的内容。
Xcodebuild 命令只是使用我作为参数传递的内容来构建/归档项目,它不会将它们设置为项目构建设置中的值。
Running xcodebuild -target <target-name> -showBuildSettings
在我的项目所在的终端中,为我提供了项目的完整构建设置,但我没有任何方法来设置它们。
我也读过here https://stackoverflow.com/questions/27178452/set-xcode-build-setting-from-terminal关于使用-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;
};
代码签名身份是由控制CODE_SIGN_IDENTITY
钥匙和配置文件是由控制PROVISIONING_PROFILE
key.
The project.pbxproj
是一个文本文件,可以通过CLI中的传统文本处理工具进行编辑,例如sed with
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
您可以获得可用的列表签名身份 with
security find-identity -v -p codesigning
For PROVISIONING_PROFILE
, 它是UUID配置文件的,可以通过以下方式获取
grep -aA1 UUID /path/to/mobileprovision
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)