ios - 无法使用包含 pod 的 xcframework 发布应用程序
问题描述
语境
我开发了一个包含以下 pod 的框架:CryptoSwift、SwiftyRSA 和 PromiseKit。我将它作为 xcframework 分发到 cocoapods 中。这就是我生成 xcframework 的方式:
xcodebuild archive -workspace MySDK.xcworkspace -scheme MySDK -destination="iOS" -archivePath ./ios.xcarchive -derivedDataPath /tmp/iphoneos -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
xcodebuild archive -workspace MySDK.xcworkspace -scheme MySDK -destination="iOS Simulator" -archivePath ./iossimulator.xcarchive -derivedDataPath /tmp/iphoneos -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
xcodebuild -create-xcframework -framework ./ios.xcarchive/Products/Library/Frameworks/MySDK.framework -framework ./iossimulator.xcarchive/Products/Library/Frameworks/MySDK.framework -output ./MySDK.xcframework
问题
当我之前在 App Store Connect 中验证应用程序以进行分发时,它无法显示以下错误消息:
App Store Connect Operation Error Invalid Bundle Structure - 不允许使用二进制文件“MySDKTest.app/Frameworks/MySDK.framework/Frameworks/Pods_MySDK.framework/Pods_MySDK”。除了受支持的捆绑包的有效 CFBundleExecutable 之外,您的应用程序不能包含独立的可执行文件或库。有关 iOS 应用程序包结构的信息,请参阅https://developer.apple.com/go/?id=bundle-structure上的包编程指南 。
App Store Connect 操作错误 捆绑包无效。'MySDKTest.app/Frameworks/MySDK.framework' 中的包包含不允许的嵌套包。
App Store Connect 操作错误 捆绑包无效。“MySDKTest.app/Frameworks/MySDK.framework”的捆绑包包含不允许的文件“Frameworks”。
解决方案
在您的框架更改的构建设置中始终嵌入 Swift 标准库 -> 否
推荐阅读
- matrix - CNN模型的评估矩阵,哪个更重要?
- cakephp - CakePHP 4 中未加载的主题资源
- mysql - 我应该在 websocket 中关闭 mysql 连接吗
- python - 如何在 Django 中制作日期范围过滤器?
- sql - Microsoft Azure DevOps SQL 查询显示历史?如何仅显示活动请求
- windows-server - Wiki.js 未作为 Windows 服务运行
- json - 如何通过 Python 将 dict/json 保存到我的计算机上的文件
- sftp - SFTP - 115 或 22 的正确端口答案是什么?
- postgresql - 缓慢的并发 postgres 插入带有索引的单独表中
- arrays - mongodb:是否可以对数组数组中的第一项进行范围搜索