2

我想自动构建具有不同配置文件的 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 动态更改配置文件?

4

1 回答 1

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 可以找到它们。还有另一个答案是提供 xcodebuild with .mobileprovision 文件

于 2013-08-02T16:05:31.887 回答