微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 错误ITMS-90046使用xctool / xcodebuild与XCode Archive的成功

我有一个命令行脚本,用于编译,存档并将我的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,则会收到相同的消息.

ERROR ITMS-90046: “Invalid Code Signing Entitlements. Your application
bundle’s signature contains code signing entitlements that are not
supported on iOS. Specifically,value ‘XXXXXXXXX.com.domain.Product’
for key ‘application-identifier’ in
‘Payload/Product.app/Frameworks/Charts.framework/Charts’ is not
supported. This value should be a string starting with your TEAMID,
followed by a dot ‘.’,followed by the bundle identifier.

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

额外信息

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

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

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

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

解决方法

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

对此问题的调查如下:https://forums.developer.apple.com/thread/14378

但其他人报告了相关域名的问题:

所以问题:Apple Store submit fails with Error ITMS-90046,but Associated Domains is not among entitlements

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐