我想在不使用 Xcode IDE 的情况下更改 .xcodeproj 的build设置,而是通过终端命令(确切地说是 Codesigning Identity 和 Provisioning Profile)。
我已经搜索了所有内容,但只找到了从终端构建/归档项目的命令,我不想要的。 我想要的只是更改设置,以便当我在 Xcode 中打开项目时,它的签名身份和配置文件设置为我在终端中设置的内容。
Xcodebuild 命令只是使用我作为参数传递的内容来构建/归档项目,它不会在项目的build设置中将它们设置为值。
运行 xcodebuild -target <target-name> -showBuildSettings
在我的项目所在的终端中,为我提供了项目的完整build设置,但我没有任何方法来设置它们。
我也读了 here关于使用 -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 。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
您可以获得可用列表签名身份和
security find-identity -v -p codesigning
对于
PROVISIONING_PROFILE
,这是一个 UUID 的配置文件,它可以获取grep -aA1 UUID /path/to/mobileprovision
关于xcode - 设置 Xcode build设置终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32743012/