首页 > 解决方案 > iMessage 应用程序,尝试使用二进制框架存档/上传时出现“不允许的嵌套包”错误

问题描述

我有一个 iMessage 应用程序(不是具有 iMessage 扩展名的应用程序),其中我已成功添加了一个二进制框架(该项目在设备和模拟器上运行良好)

但是,我无法成功地将项目上传到 App Store Connect - 从存档构建上传会返回以下错误:

上传错误

错误的相关文本是:

捆绑包 ... 包含不允许的嵌套捆绑包。参考https://developer.apple.com/go/id=framework-imessage

该链接(如果您遵循使用较新 Xcode 版本的说明)将带您回到下面的链接,我用来添加框架以开始...运行您将需要 Xcode 11,因为我正在使用 XCFramework。

我按照 Apple 在此处的指示将框架添加到 iMessage 应用程序:

https://developer.apple.com/library/archive/technotes/tn2435/_index.html

(请参阅在 iMessage 应用程序中嵌入框架部分)

我需要对项目或扩展的设置进行哪些更改才能使存档/上传过程成功,同时实际上包括我需要的框架?我在 StackOverflow 上进行了搜索,发现了各种与 cocoapods 相关的帖子,或者围绕“始终嵌入 Swift 标准库”的各种构建设置无济于事。

我已将问题简化为一个简单的示例应用程序,您可以在此处看到,它可以正常构建和运行,但无法存档和上传:

https://www.dropbox.com/sh/jpa4oe7zlnb21wl/AACXkLbxIbayZUtJr3VDwO07a?dl=0

该目录包含项目的 zip 文件和显示遇到的错误的图像。

标签: iosxcodeimessageimessage-extensionapp-store-connect

解决方案


我对存根应用程序进行了一些更改,它似乎可以正常工作并验证。

  1. 从扩展目标中删除嵌入框架。
  2. 在应用程序目标中添加嵌入框架,将目标设置为“框架”


推荐阅读