xcodebuild联编将在Xcode 6和备用包ID的协同设计,但不是在Xcode 7
问题描述:
我们的CI服务器确实在不同的包ID交换这样我们的应用程序每天特设建筑:xcodebuild联编将在Xcode 6和备用包ID的协同设计,但不是在Xcode 7
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.example.app.daily" \
app/app-Info.plist
,然后建筑和归档与xcodebuild联编:
xcodebuild \
CODE_SIGNING_REQUIRED=YES \
CODE_SIGN_IDENTITY="$DEVELOPER_NAME" \
PROVISIONING_PROFILE="$PROFILE_UUID" \
-sdk iphoneos \
-workspace "$XCODE_WORKSPACE" \
-scheme "$XCODE_SCHEME" \
clean archive \
-archivePath "$ARCHIVE_PATH"
和Xcode 6这个工作完美,但在Xcode 7我们得到这个错误:
Code Sign error: Provisioning profile does not match bundle identifier: The provisioning profile specified in your build settings (“Daily AdHoc Profile for CI Servers”) has an AppID of “com.example.app.daily” which does not match your bundle identifier “com.example.app”.
就好像Xcode 7没有看到我们更改了捆绑ID。它正在寻找其他地方?
答
@Mozilla指出我朝着正确的方向。升级到Xcode 7项目将捆绑包标识符转移到构建设置的Packaging部分的“Product Bundle Identifier”设置中。
Xcode的帮助边栏显示此设置被命名为PRODUCT_BUNDLE_IDENTIFIER。所以我的命令成为:
xcodebuild \
CODE_SIGNING_REQUIRED=YES \
CODE_SIGN_IDENTITY="$DEVELOPER_NAME" \
PROVISIONING_PROFILE="$PROFILE_UUID" \
PRODUCT_BUNDLE_IDENTIFIER="com.example.app.daily" \
-sdk iphoneos \
-workspace "$XCODE_WORKSPACE" \
-scheme "$XCODE_SCHEME" \
clean archive \
-archivePath "$ARCHIVE_PATH"
它的工作!
嗨。当我安装'xcode7'并进行了第一次构建时,xcode让我进行升级项目设置。之后,'BUNDLE_ID'被放置在构建设置的'Packaging'部分,而不是'Info-Plist.plist'。 –