提问者:小点点

Xcode12-为iOS模拟器构建,但链接在为macOS构建的目标文件中,文件'dir/somefile.a'用于体系结构x86_64


当我试图构建大型iOS应用程序(hybrid,Swift+Objc)时,中出现链接器错误。该应用程序正在构建良好的真实设备,但它给链接器错误,当我试图运行在模拟器直接与调试配置。

我在这里的其他岗位上尝试过所有可能的解决方案,但不幸的是,都不起作用。虽然其他岗位的错误不同。对于调试配置,我将选中为YES,对于发布配置,选中为NO。

其他post错误,

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

我的错误,

为iOS模拟器构建,但链接在为macOS构建的对象文件中,为体系结构x86_64构建的文件中

如何解决此问题?我需要同时在iOS真实设备和模拟器中运行。


共2个答案

匿名用户

无论在哪里获得库,都应该请求为iOS模拟器编译的库,而不是为macOS编译的库,尽管它们具有通过/code>返回的相同的二进制体系结构。

您可以使用以下命令验证静态(。a)或动态库(。dylib)是否已为iOS模拟器编译:

otool -l <path-to-library> | grep platform

输出的含义如下:

    平台7/code>-iOS仿真器/li> 平台6/code>-Mac催化剂/li> 平台4/code>-watchos/li> 平台2/code>-IOS/LI> 平台1/code>-macos/li>

匿名用户