首页 > 解决方案 > 是否可以为 iOS、模拟器和 * 和 * Mac 创建一个胖框架?

问题描述

我有一个简单的 C 库,我想将它作为一个框架分发给所有三个平台——iOS、Mac 和 iOS 模拟器。我知道可以配置 Xcode(或使用lipo)来生成一个包含 arm 架构和 i386/x86 架构的胖框架,但从我的测试来看,iOS 的共享架构之间似乎存在重叠模拟器和 Mac 只为其中一个留出了空间(当使用为模拟器编译的 Mac x86_64/i386 二进制文件时,Xcode 会发出警告。)

这是可能吗?

标签: iosxcodemacos

解决方案


xcframework是 Xcode 11 中的新功能,并且可能使这成为可能。来自Xcode 11 Beta 发行说明

XCFramework 可以将用于多个平台的二进制框架或库(包括 iOS 设备、iOS 模拟器和 Mac Catalyst)捆绑到一个可分发的 .xcframework 包中,开发人员可以在他们自己的应用程序中使用该包。可以将 .xcframework 包添加到 Xcode 目标的链接库阶段,并且 Xcode 在构建时使用包含的框架或库的正确平台版本。

您已经链接到WWDC 2019的相关演讲


推荐阅读