Xcode 分发失败并出现错误:框架未包含在正确命名的目录中。它应该在“框架”下[关闭]

Posted

技术标签:

【中文标题】Xcode 分发失败并出现错误:框架未包含在正确命名的目录中。它应该在“框架”下[关闭]【英文标题】:Xcode Distribution Failed with Error: framework is not contained in a correctly named directory. It should be under "Frameworks" [closed] 【发布时间】:2020-11-16 11:13:32 【问题描述】:

当我想上传我的应用时,我在上传应用时收到以下错误消息。

我从 Swift 包管理器获得 Crypto Swift 框架。

有人可以帮我吗?我现在不知道该怎么办。

文本中的错误信息:

App Store Connect Operation Error
ERROR ITMS-90680: "Invalid directory. The bundle Payload/Healthya.app/PlugIns/CryptoSwift.framework is not contained in a correctly named directory. It should be under "Frameworks"."

App Store Connect Operation Error
ERROR ITMS-90685: "CFBundleIdentifier Collision. There is more than one bundle with the CFBundleIdentifier value 'com.krzyzanowskim.CryptoSwift' under the ios application 'Healthya.app'."

App Store Connect Operation Warning
WARNING ITMS-90806: "CFBundleIdentifier collision. Each bundle must have a unique bundle identifier. The bundle identifier 'com.krzyzanowskim.CryptoSwift' is used in the bundles '[Payload/Healthya.app/Frameworks/CryptoSwift.framework, Payload/Healthya.app/PlugIns/CryptoSwift.framework]'"

【问题讨论】:

【参考方案1】:

“多个捆绑包”消息表明设置存在问题。 要么是您的 SPM 集成有问题,并且可能与一些手动集成重复,要么是 Xcode SPM 集成问题。

问题是 Xcode 离开了 CryptoSwift.o 并添加了 CryptoSwift.framework,而一次只能存在一个。这里的解决方法是删除CryptoSwift.o文件。

在 Xcode 中运行“产品 -> 清理构建文件夹”。这应该会删除剩菜,下一次构建应该就可以了。我能够重现该问题,但只能通过 Xcode 解决。

查看生成的 .app 包并检查那里是否有重复。

它应该看起来像这样:

你已经问过苹果了吗?

【讨论】:

在哪里可以找到生成的 .app 包?我删除了与 SPM 的连接并获得了一个新连接。我没有问过苹果。但看起来 1.3.5 版本存在问题。使用版本 1.3.3。它有效。 但是看起来 1.3.5 版本有问题。和 1.3.4。使用版本 1.3.3。它有效。 您可以在 Xcode 项目的 Products 组中找到它。 @moxmlb 你可以创建新的空项目并在那里重现问题,或者只是当你从以前的版本更新时?您可以尝试删除 DerivedData 并在 Xcode 中运行 File -> Swift Packages -> Reset Package Cache。也许是这样的 我删除了 DerivedData 并重置了 Xcode 中的包缓存。我现在有 1.3.3 版。并且更新有效。我将再次检查版本 1.3.5。给我一秒钟【参考方案2】:

您似乎从源代码管理中下载了一个项目

错误 1:确保您的 FrameWork 目录与 XCode 中显示的路径相同

错误 2:删除 PodFile.lock 并删除加密框架并从 Package.json 安装正确的版本标识运行 pod install

第 3 步:清理 Xcode 构建

第 4 步:重建

【讨论】:

我只使用 Swift 包管理器,而不是 pod 我在 Finder 中没有看到任何框架目录

以上是关于Xcode 分发失败并出现错误:框架未包含在正确命名的目录中。它应该在“框架”下[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

机器人创建失败并出现错误:未找到

更新 OS 和 Xcode 后 Xcode 应用程序分发失败

Xcode 8 App安装失败,出现未知错误

Xcode 6 App Store 提交失败并显示“您的帐户已经拥有有效的 iOS 分发证书”

采购失败,因为采购未正确初始化

分发失败,出现错误 iTunes 连接