我使用一个简单的脚本来自动构建我的应用程序的 Adhoc 和 Distrib 版本:
echo "***** xcodebuild: compile project" xcodebuild -target "${PROJECT_NAME}" -sdk "${TARGET_SDK}" -configuration Release CONFIGURATION_BUILD_DIR="${PROJECT_BUILDDIR}" echo "***** xcrun Package app (ipa file) - Adhoc release" /usr/bin/xcrun -sdk iphoneos PackageApplication "${PROJECT_BUILDDIR}/${PROJECT_NAME}.app" -o
"${PROJECT_BUILDDIR}/${PROJECT_NAME}_adhoc.ipa" --sign "${DEVELOPPER_NAME}" --embed "${ADHOC_PROVISONNING_PROFILE}" echo " * xcrun Package app (ipa file) - AppStore release" /usr/bin /xcrun -sdk iphoneos PackageApplication "${PROJECT_BUILDDIR}/${PROJECT_NAME}.app" -o "${PROJECT_BUILDDIR}/${PROJECT_NAME}_appstore.ipa" --sign "${DEVELOPPER_NAME}" --embed "${ APPSTORE_PROVISONNING_PROFILE}"
它以前工作正常。但后来我安装了 Mac OS Maverik,还更新了我过期的证书和 prov 配置文件。从那时起,当我尝试将生成的 IPA 上传到 iTunes Connect(对于 Distribution 版本)或 TestFlight(对于 Adhoc 版本)时,我收到以下错误消息:
错误 ITMS-9000:“无效的代码签名。可执行文件 'Payload/mosa_en_it.app/mosa_en_it' 必须使用配置文件中包含的证书进行签名。” 在 SoftwareAssets/SoftwareAsset (MZItmspSoftwareAssetPackage)
但是当我在 XCode 上手动执行时(存档->分发..),它就可以工作了。
另外,我不知道它是否相关,但我有很多重复的证书:截图 (但我不知道如何删除它们)
在此先感谢您的帮助