如何在M1 mac上构建一个支持英特尔mac上iOS模拟器的静态库



我有一个庞大的iOS库,它支持真实设备(arm64…(和英特尔Mac的iOS模拟器(x86_64(。但当我换成M1 mac时,事情变得很艰难。

如果我使用旧库,我将失败,并错误地说xxx.a (xxx.o) building for iOS Simulator, but linking in object file built for iOS, file 'xxx' for architecture arm64。我似乎必须构建一个xcframework,其中包含用于不同目的地的二进制文件。

因此,我尝试构建不同的切片,并希望将它们捆绑成一个xcframework。但我最终发现我不知道如何用M1 Mac构建x86_64切片。

我的问题是

  • 如何在M1 mac上构建一个支持英特尔mac iOS模拟器的静态库
  • 还是我的想法从一开始就错了

我未能在M1 Mac上获得x86_64切片的原因是我的构建设置中有一个遗留选项:有效架构。

删除此配置并运行标准流。然后您将顺利获得包含x8_64体系结构的库。

xcodebuild archive --destination="generic/platform=iOS Simulator" ...

如果您的库代码不是作为Xcode项目组织的,而是在下面使用clang工具链。您可以参考此链接。简而言之,以arm64-apple-ios14.3模拟器这样的格式指定目标

相关内容

  • 没有找到相关文章

最新更新