iPhone 应用程序提交 - 错误 ITMS-90171 无效的捆绑包结构不能包含独立的可执行文件

问题描述 投票:0回答:8

我已经提供了我收到的完整错误消息的屏幕截图。当我尝试将应用程序提交到 iTunes Connect 时会发生这种情况。运行应用程序时我没有收到任何错误。

First Error

Second Error

ios iphone xcode app-store-connect
8个回答
5
投票

对我来说,这个问题是由于将框架包含在捆绑包中而引起的。即,我将 .framework 文件复制到应用程序包中。这是不必要的,因为框架是静态链接到主应用程序二进制文件的。

最有可能的是,您有一个包含复制到项目中的 .framework 的文件夹(例如“外部”或“第三方”)。该文件夹不应具有任何目标的成员资格。

在您的 Frameworks 文件夹本身中,应该是实际的 .framework 文件,其中包含您的应用程序的目标成员资格和“必需”


3
投票

我的应用程序遇到了完全相同的错误,并且我无法从信息中找到任何原因。但不同的是,我的所有

.dll
文件都获得了它。

过了一段时间,我在

IOS Bundle Signing
-
Custom entitlements
下看到它试图指向一个不存在的文件。我刚刚删除了它,它就不再出错了。

不确定它是否也对你有帮助,但它对我有用。


1
投票

对我有帮助的是,我在框架、库和嵌入内容中的项目目标中创建了框架 -> 不要嵌入。


0
投票

我也面临同样的问题,

第 1 步: 复制时查看 .Framework 您错误地复制(拖动)了 GoogleMaps.bundle 或其他 .bundle 扩展中的框架。

第 2 步: 如果 .bundle 资源中存在其他框架(如果存在),则删除该框架(如果根本不需要),否则从该 .bundle 中拖出。

步骤 3: 如果 .framework 不存在,则检查所有 .bundle 资源,如果 .framework 存在,如果存在,则删除该框架(如果根本不需要),否则拖出该 .bundle。

第 4 步: 然后清理并构建项目。

不确定它是否也对你有帮助,但它对我有用。


0
投票

我们的捆绑包中有一个带重音的特殊字符,删除它可以解决问题。


0
投票

对我有用的是在显示问题导航器中使用项目的 XCode 自动更新设置。当我从那里更新 2 个设置时,项目构建成功,甚至上传到 TestFlight。


0
投票

我刚刚在 Xcode 13 中经历过这种情况。我们的一些 Swift 代码位于单独的模块(Xcode 项目中的单独目标)中,其中一个目标引用了同一项目中的几个其他模块。它已将它们设置为目标“常规信息”选项卡中的“嵌入并签名”。我将其设置为“不嵌入”。

但这只是解决方案的一部分。我收到一条投诉,内容为“iOS 应用程序下有多个包含 CFBundleIdentifier 值的捆绑包。错误代码为 STATE_ERROR.VALIDATION_ERROR.90685”

解决方案是在 Xcode 中创建一个 Framework 目标,将所有共享(静态)SPM 依赖项移至该目标,将它们从任何其他目标中删除,然后将新框架添加到需要它们的目标中,确保选择“请勿嵌入。”


0
投票

就我而言,当我从 CocoaPods 迁移到 SPM 时,问题就开始发生。有 3 个预编译框架抛出此错误,其中 3 个来自 Google/Firebase。

就我而言,我很幸运能够从 SPM 定义中删除

FirebaseAnalyticsSwift
,从而使错误消失,但这只是可能的,因为我实际上不再使用 Firebase 分析。否则我找不到问题的真正根本原因。

我希望这对某人有帮助😅

© www.soinside.com 2019 - 2024. All rights reserved.