xcodebuild 将使用 Xcode 6 和备用包 ID 进行协同设计,但不会使用 Xcode 7
xcodebuild will codesign with Xcode 6 and alternate bundle ID but not with Xcode 7
我们的 CI 服务器通过交换不同的包 ID 来每天临时构建我们的应用程序,如下所示:
/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 项目将包标识符移动到构建设置的打包部分中的 "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"
成功了!
我们的 CI 服务器通过交换不同的包 ID 来每天临时构建我们的应用程序,如下所示:
/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 项目将包标识符移动到构建设置的打包部分中的 "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"
成功了!