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

查看:172
本文介绍了使用xctool/xcodebuild的ITMS-90046错误与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" 对于关键的应用程序标识符" 有效负载/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命令中遇到了与此类似的错误,我为我解决的方法是在项目设置.尝试更新您的项目,然后再次运行构建.

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

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

But others reported problem with associated domains:

SO问题:什么是您的操作系统,XCode ...等?

What is your OS, XCode ... etc?

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

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