静态库编译心得

阅读更多
我们编译静态库时一般会生成模拟器,真机两个包的.a文件
这二个库一个是用于真机运行的一个是用于模拟器运行的.其实我们可以利用lipo将这二个文件打包成一个通用的a文件
将/Users/user/Library/Developer/Xcode/DerivedData/UITab-dgfkluumuexoxhcapzidtsmdgqcj/Build/Products替换成你的路径。

将/Users/user/Desktop/libPrint.a替换成合并后的路径。

lipo -create /模拟器.a的路径/libPrint.a  /真机.a的路径/libPrint.a  -output /Users/pjk1129/Desktop/libPrint.a

这样的好处就是在开发过程中无论还是真机都能比较方便的进行测试,但是明显包的大小就会比较大,所以在发布的时候还是要使用真机的库

1. 如果静态库中使用了category,那么在使用这个静态度的工程中,在Build Settings中Other Linker Flags加入-all_load, 不然向category发消息的时候会crash, 说无效的selector send to object.

你可能感兴趣的:(静态库编译心得)