我想自动构建具有不同配置文件的iPad应用程序(因为我有不同的iOS开发者帐户)。
我发现我可以直接在Xcode目录中复制配置文件:
cp packages/provisioning_profiles/*.* ~/Library/MobileDevice/Provisioning\ Profiles/
然后我检查我应该使用哪个配置文件:
if [[ "$SIGNING_IDENTITY" =~ "myIdentity1" ]]; then
PROVISIONING_PROFILE="packages/application-packages/provisioning_profiles/Wildcard_ADHOC.myIdentity1.mobileprovision"
else
PROVISIONING_PROFILE="packages/application-packages/provisioning_profiles/Wildcard_ADHOC.myIdentity2.mobileprovision"
fi
然后我尝试用Xcode构建构建:
xcodebuild -scheme "myapp" -configuration "Archive" -sdk "iphoneos5.1" PROVISIONING_PROFILE="$PROVISIONING_PROFILE" clean CONFIGURATION_BUILD_DIR=../build
xcodebuild -scheme "myapp" -configuration "Archive" -sdk "iphoneos5.1" PROVISIONING_PROFILE="$PROVISIONING_PROFILE" archive CONFIGURATION_BUILD_DIR=../build
在尝试动态更改配置文件之前,一切都运行良好,现在我收到了这个错误:
检查依赖项 代码签名错误:无法找到供应配置文件'6E50482A-AD93-4A0A-B8E4-xxxxxx'
进一步我不知道从哪里来“6E50482A-AD93-4A0A-B8E4-xxxxxx”
有人知道我的问题吗?
是否可以使用xcodebuild nah动态更改配置文件?
答案 0 :(得分:2)
是的,可以有多个配置文件。我使用命令行来构建AdHoc配置文件或我们的AppStore配置文件。您需要指定配置文件的ID,而不是指定文件路径,这就是“6E50482A-AD93-4A0A-B8E4-xxxxxx”。我们在每台开发机器上都安装了配置文件,因此您只需通过指定ID来选择配置文件:
if [[ "$SIGNING_IDENTITY" =~ "myIdentity1" ]]; then
PROVISIONING_PROFILE="6E50482A-AD93-4A0A-B8E4-xxxxxx"
else
PROVISIONING_PROFILE="97EF81AB-A345-8888-7878-xxxxxx"
fi
如果您没有安装配置文件,则必须在计算机上安装一个脚本,然后xcode就可以找到它们。还有另一个答案涉及Provide xcodebuild with .mobileprovision file