【发布时间】:2021-01-17 00:45:15
【问题描述】:
当我尝试构建大型 iOS 应用程序(混合、swift+objc)时,Xcode 12 中出现链接器错误。该应用程序正在为真实设备构建良好,但当我尝试使用调试配置直接在模拟器中运行时,它会给出链接器错误。
我在其他帖子here 中尝试了所有可能的解决方案,但不幸的是它没有奏效。尽管其他帖子中的错误有所不同。我已经检查了Build for active architectures only 为 YES 用于调试配置和 NO 用于发布配置。
其他帖子错误,
为 iOS 模拟器构建,但在为 iOS 构建的目标文件中链接,用于架构 arm64
我的错误,
为 iOS 模拟器构建,但在为 macOS 构建的目标文件中链接,用于架构 x86_64 的文件
我该如何解决这个问题?我需要在 iOS 真机和模拟器上运行。
【问题讨论】:
-
你在
Build Settings中检查过Build for active architectures only吗? -
@Olha 我检查了
Build for active architectures only到YES的调试配置和NO的发布配置。该应用程序正在为真实设备构建良好,但是当我尝试使用调试配置直接在模拟器中运行时,它会给出链接器错误。 -
这缺少一些可能对回答很重要的信息:我假设您从包含的框架(可能是 cocoapod)中收到此链接器错误?还是您包含的预编译框架/库?正如您所说,您有一个 iOS 应用程序(我猜混合只是指语言),您甚至在其中看到 macOS 拱门也很奇怪。根据您的项目中包含框架的方式,您可能必须自己在自定义构建阶段(使用
lipo)将其剥离,但如果没有更多信息,我不能这么说。 -
我从预编译的 Fat 二进制文件中得到同样的错误,在设备上运行,在模拟器上出现错误,我已经寻找了几个星期的解决方法,但没有成功,第三方库的所有者是不更新它基本上会影响我们的进度
标签: ios xcode linker-errors xcodebuild xcode12