错误 ITMS-90046 使用 xctool/xcodebuild vs XCode Archive 的成功 [英] ERROR ITMS-90046 using xctool / xcodebuild vs XCode Archive's success

查看:40
本文介绍了错误 ITMS-90046 使用 xctool/xcodebuild vs XCode Archive 的成功的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I've got a command line script I use to compile, archive and submit my ios builds to ITC for TestFlight deployment. They work great, but I recently ran into an issue when trying to use an embedded framework within my otherwise working project. My script compiles and archives the project successfully but is getting ITC signing errors because of the embedded binary conflict.

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,但失败并显示以下消息.如果我尝试使用 Application Loader 工具将生成的 IPA 文件上传到 ITC,我会收到相同的消息.

After a successful compilation my script tries to upload to ITC, and fails with the below msg. I get the same message if I try to upload the generated IPA file to ITC myself using Application Loader tool.

错误 ITMS-90046:无效的代码签名权利.您的应用程序捆绑包的签名包含不属于的代码签名权利在 iOS 上支持.具体来说,值XXXXXXXXX.com.domain.Product"对于关键的应用程序标识符"'Payload/Product.app/Frameworks/Charts.framework/Charts' 不是支持的.这个值应该是一个以你的 TEAMID 开头的字符串,后跟一个点.",后跟包标识符.

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.

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

There is no application-identifier string used in my project or settings that I can find with a global search.

额外信息

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

com.domain.Product would be my project's main bundleIdentifier, which has a distribution certificate and provisioning profile generated for it. Without the embedded binary that works just fine. The "Charts" embedded project has a bundleIdentifier but the team is set to "None" in the Info tab, and signing is set to Automatic. Since it is an embedded binary/framework, I'm assuming it doesn't independently sign it. When using Xcode's Archive, it is listed as a subset of the main Project with no independent identifier or entitlements.

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

I have also tried creating an independent appId and distribution provisioning profile for the embedded binary called "com.domain.ProductCharts" and setup the project correctly. This does not change the error.

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

I have further tried setting the embedded binary's project to use the same bundleIdentier and settings as the parent Project, but this does not change the error.

为什么 xctool/xcodebuild 无法正确编译和签名以通过 ITC,而本机 Archiver 可以?

Why is xctool/xcodebuild unable to properly compile and sign this to get through to ITC, while the native Archiver can?

推荐答案

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

Currently, I encountered what I think is a bug in xcodebuild command similar to this, way I fixed it for me was to setup provisioning profile in the project settings. Try updating your project and run build again.

对该问题的调查在这里:https://forums.developer.apple.com/thread/14378

The investigation into the issue was here: https://forums.developer.apple.com/thread/14378

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

But others reported problem with associated domains:

SO 问题:Apple Store 提交失败并显示错误 ITMS-90046,但关联域不在权利范围内

您的操作系统、XCode 等是什么?

What is your OS, XCode ... etc?

这篇关于错误 ITMS-90046 使用 xctool/xcodebuild vs XCode Archive 的成功的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆