XCode创建半个静态库

问题描述:

这个问题让我感到非常紧张。在我宣布它是XCode中的一个错误并尝试使用其他版本的XCode之前,我在这里问它。XCode创建半个静态库

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

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

我不能让它工作,除非我重新启动我的MAC,或者莫名其妙的XCode崩溃。

我曾尝试:清洁工程,干净的文件夹,删除派生数据,在我的目标连接标志添加-all_load -force_load -ObjC标志。

如果任何人有什么正在发生什么想法,请通知我。 谢谢!

+0

可能是第二次,您在建立时从胖库中删除了一片。 –

+0

我不太明白你的意思。但是除了将库复制到另一个位置之外,我没有在两个版本之间做任何事情。我认为这是一个XCode缓存问题。 –

+0

第一次和第二次操作时的设备类型是什么? –

它取决于您在建立图书馆期间选择的目标设备。在Xcode中,当您选择任何特定的模拟器或设备时,Xcode只会创建单个切片或精简产品。 enter image description here enter image description here 如果您选择通用iOS设备,则表示没有设备或模拟器,那时Xcode创建包含所有设备切片的库和包含模拟器切片的一个文件夹。

使用LIPO命令,你可以把模拟器和设备一起切片。

在你的情况下,在第一和第二次,你从通用的iOS设备更改设备目标特定的设备。

+0

谢谢你让我看傻了,呵呵:P –

+0

这是在Xcode的静态功能,当我选择我的iPhone在第二个项目来运行它时,Xcode变化也于库项目。 –