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 应用程序分发失败