XCode 创建一半大小的静态库

XCode creating half-sized static library

这个问题快把我逼疯了。在我宣布它为 XCode 中的错误并尝试使用另一个版本的 XCode.

之前,我在这里问它

所以,我正在使用 XCode 8.3.2。我有一个生成静态库的项目。我正在将 .a 文件移动到另一个项目并使用它(我知道我可以将静态库项目集成到第二个项目中,但我不想在此处使用它)。

生成的文件大小为 4.4MB。复制新创建的 .a 并将其复制到第二个项目并进行测试后,一切正常。但是当我回到库项目并构建它时,生成的文件是 2.3MB,缺少符号!!!

除非我重新启动我的 MAC,否则我无法让它工作,否则 XCode 不知何故崩溃。

我已经尝试过:清理项目、清理文件夹、删除派生数据、在我的目标链接器标志中添加 -all_load -force_load -ObjC 标志。

如果有人知道发生了什么,请告诉我。 谢谢!

这取决于您在构建库期间 selected 的目标设备。在 Xcode 中,当您 select 任何特定的模拟器或设备时,那个时候 Xcode 只会创建单片或薄产品。 如果您 select 通用 iOS 设备,意味着没有设备或模拟器,那时候 Xcode 创建包含所有设备切片的库和一个包含模拟器切片的文件夹。

通过使用 LIPO 命令,您可以将模拟器和设备切片放在一起。

在您的情况下,在第一次和第二次期间,您正在将设备目标从通用 iOS 设备更改为特定设备。