我正在尝试在Xcode 12(beta 5)中构建一个大型(正在开发Xcode 11!)项目,为iOS 14做准备。代码库以前是Objective-C中的,但现在它同时包含Objective-C和Swift,并使用Objective-C或Swift的pod。

我已经推出了支持Xcode 12的CocoaPods新测试版(目前为1.10.0.beta 2)。

Pod安装成功。当我进行构建时,在pod框架上出现以下错误:

为iOS模拟器构建,但链接到为iOS构建的对象文件中,用于体系结构arm64

以及可能的错误:

无法加载目标“arm64-apple-ios11.0”的标准库

当我在框架上运行lipo-info时,它有:armv7s armv7 i386 x86_64 arm64。

此前,该项目的有效架构设置为:armv7、armv7s和arm64。

在Xcode 12中,根据苹果的文档,该设置将消失。架构设置为$(ARCH_STANDARD)。我在排除的架构中没有任何设置。

这里可能发生了什么?我还没能用一个更简单的项目重现这一点。


当前回答

所有这些答案中隐藏的宝石

我在主要项目的目标中更改了“排除架构”,但在PODS项目中没有更改。这是一块真正隐藏的宝石。我已经处理这个问题好几个星期了。

其他回答

在我的情况下,它是100%工作的。试试看:

我有一个临时的解决方案。

您只需按照图像进行操作。

双击架构并选择“其他”和“删除所有行”添加两件事arm7s和arm7在iPhone上运行物理设备,而不是模拟器享受

我找到了解决方案!SwiftUI预览无法使用Firebase

如果您将模拟器的排除架构设置为arm64,它将编译。

我面临着同样的问题,并试图在M1 Mac上启动React Native应用程序。请注意,我的Intel Mac与相同的项目运行良好,没有此错误。

对我来说,解决问题的是通过Rosetta强制Xcode打开。

要做到这一点:

右键单击Applications文件夹中的Xcode*→ 获取信息→ 选中“使用Rosetta打开”复选框。

在我的案例中,更新CocoaPods有助于:

卸载CocoaPods(如果已安装):sudogem卸载cocoapods安装CocoaPods:酿造装置椰子如果出现链接错误:brew链接--覆盖cocoapods`运行pod安装

在我们的案例中,这是Jenkins构建中的一个错误:

框架/版本'xxx/Library/Developer/Xcode/DerivedData/xxx cuytrcyjdlfetmavpdonsknoypgk/构建/产品/调试iphoneos/AppsFlyerLib.framework/AppsFryerLib(AFSDKDevice.o),为iOS构建,但在为Mac Catalyst构建的对象文件中链接,文件'xxx/Library/Developer/Xcode/DerivedData/xxx cuytrcyjdlfetmavpdonsknoypgk/Build/Products/Debug-iphoneos/AppsFlyerLib.framework/AppsFlyerLib'用于体系结构arm64

我们用sudo gem更新cocapods修复了它。