繁体   English   中英

ERROR ITMS-90046使用xctool / xcodebuild与XCode Archive的成功

[英]ERROR ITMS-90046 using xctool / xcodebuild vs XCode Archive's success

我有一个命令行脚本,用于编译,存档并将我的ios构建提交给ITC以进行TestFlight部署。 它们运行良好,但我最近遇到了一个问题,试图在我的工作项目中使用嵌入式框架。 我的脚本成功编译和归档项目,但由于嵌入式二进制冲突而导致ITC签名错误。

xctool -workspace $BASE_DIR/$PROJECT_NAME -scheme $SCHEME -configuration $CONFIG clean archive -archivePath ./$PRODUCT_NAME.xcarchive
xcodebuild -exportArchive -archivePath ./$PRODUCT_NAME.xcarchive -exportPath $PRODUCT_NAME -exportFormat ipa -exportProvisioningProfile "$DIST_PROVISIONING_PROFILE_NAME"

# result is successful, with .ipa file generated

编译成功后,我的脚本会尝试上传到ITC,并使用以下msg失败。 如果我尝试使用Application Loader工具将生成的IPA文件上传到ITC,则会收到相同的消息。

错误ITMS-90046:“无效的代码签名权利。您的应用程序包的签名包含iOS上不支持的代码签名权利。具体而言,'Payload / Product中关键'application-identifier'的值'XXXXXXXXX.com.domain.Product'不支持.app / Frameworks / Charts.framework / Charts'。该值应该是以TEAMID开头的字符串,后跟一个点'。',后跟一个包标识符。

我的项目或设置中没有使用应用程序标识符字符串,我可以通过全局搜索找到它。

额外信息

com.domain.Product将是我项目的主要bundleIdentifier,它具有为其生成的分发证书和配置文件。 没有嵌入式二进制文件可以正常工作。 “图表”嵌入式项目具有bundleIdentifier,但团队在“信息”选项卡中设置为“无”,并且签名设置为“自动”。 由于它是一个嵌入式二进制/框架,我假设它没有独立签名。 使用Xcode的存档时,它被列为主项目的子集,没有独立的标识符或权利。

我还尝试为嵌入式二进制文件创建一个名为“com.domain.ProductCharts”的独立appId和分发配置文件,并正确设置项目。 这不会改变错误。

我进一步尝试将嵌入式二进制文件的项目设置为使用与父项目相同的bundleIdentier和设置,但这不会更改错误。

为什么xctool / xcodebuild无法正确编译并签名以通过ITC,而原生Archiver可以?

目前,我遇到了我认为xcodebuild命令中的一个类似于此的错误,我修复它的方法是在项目设置中设置provisioning profile 尝试更新项目并再次运行构建。

有关该问题的调查如下: https//forums.developer.apple.com/thread/14378

但其他人报告了associated domains问题:

所以问题: Apple Store提交失败,错误ITMS-90046,但Associated Domains不在权利之中

什么是你的操作系统,XCode ......等等?

只是猜测:如果您使用命令行,可能需要在Entitlements.plist中指定application-identifier 这里https://developer.apple.com/library/ios/qa/qa1710/_index.html在“Xcode的现代版本中”中说明了这一点。

你说:

他们工作得很好,但我最近遇到了一个问题......

你有没有创建一个新的配置文件,现在有两个? 还是两个证书? 以下是有关如何检查您的权利的说明 也许这有帮助。

为嵌入式框架创建.entitlements只能解决Xcode 7.x中的问题。 在版本8.x中,问题仍然存在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM