设置 Xcode 构建设置终端
Setting Xcode Build Settings Terminal
我想在不使用 Xcode IDE 的情况下更改 .xcodeproj 的构建设置,而是通过终端命令(准确地说是代码设计身份和配置文件)。
我搜索了所有但只找到了从终端build/archive项目的命令,我不想要的。我想要的只是更改设置,这样当我在 Xcode 中打开项目时,它的签名身份和配置文件设置为我在终端中设置的内容。
Xcodebuild 命令只是 builds/archives 使用我作为参数传递的项目,它不会在项目的构建设置中将它们设置为值。
运行 xcodebuild -target <target-name> -showBuildSettings
在我的项目所在的终端中,为我提供了项目的完整构建设置,但我没有得到任何设置它们的方法。
我还阅读了 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
键控制。
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 IDE 的情况下更改 .xcodeproj 的构建设置,而是通过终端命令(准确地说是代码设计身份和配置文件)。
我搜索了所有但只找到了从终端build/archive项目的命令,我不想要的。我想要的只是更改设置,这样当我在 Xcode 中打开项目时,它的签名身份和配置文件设置为我在终端中设置的内容。
Xcodebuild 命令只是 builds/archives 使用我作为参数传递的项目,它不会在项目的构建设置中将它们设置为值。
运行 xcodebuild -target <target-name> -showBuildSettings
在我的项目所在的终端中,为我提供了项目的完整构建设置,但我没有得到任何设置它们的方法。
我还阅读了 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
键控制。
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