为模拟器构建应用程序时排除 *.a 文件

问题描述

目前,我在项目中使用的其中一个库存在问题,它根本不允许我为 iOS 模拟器进行构建。

收到以下错误消息: 为 iOS 模拟器构建,但链接库 '!@#$%^&.a' 是为 iOS 构建的。

在我的课堂上,我有以下代码

#if (TARGET_IPHONE_SIMULATOR==0)
void !@#$%^&_init(void);
#endif

我尝试在为 iPhone 模拟器构建应用程序时排除该文件方法是将其添加构建设置 > 构建选项 > 排除的源文件名 > 任何 iOS 模拟器 SDK

我还尝试排除以下架构:arm64、arm64e 和 armv7。

将 Build Active Architecture Only 设置为 YES,对我来说没有用,也没有验证构建产品或验证工作区。

实际上,上面提到的解决方案都不适合我,所以我不得不在这里问这个问题。

解决方法

作为一种解决方法,您应该能够在文件/项目设置下将构建系统更改为“传统构建系统”。 正确的解决方案是将您的库打包为 XCFramework。