生成.a

来源:互联网 发布:九回时间旅行知乎 编辑:程序博客网 时间:2024/04/29 17:11

1.新建静态库工程

2.将.h .m 添加到工程

3.将图片 plist文件放入一个文件夹,将此文件夹改扩展名为.bundle.添加到工程。

调用资源方式参考http://www.cnblogs.com/ios8/p/ios-static-a.html

4.选择设备build一下,选择模拟器build一下

5.用终端进到 到生成的.a的目录 lipo -create Release-iphoneos/libtest_a.a Release-iphonesimulator/libtest_a.a -output libtest_a.a

用到的是最后output的 libtest_a.a


6.使用的时候将.a、.bundle和第三方库以及第三方库需要的framwork添加到工程

7.设置build settings-> other linker flags  添加-all_load

参考资料:Xcode里-ObjC, -all_load, -force_load

Xcode添加静态库以及编译选项配置常见问题

注意: 自己的.a中用到第三方framwork,找不到类,以下是网友解释 点击打开链接

framework 的第三方库,只是参与link,并不会 build 进你自己新建的 .a的binary,
所以,你的的项目必须同时引用 你自己的.a 和 这个.a引用的所有的地方 framework(.frameworkj结尾的)
同理,可以可以控制引用的第三方.a文件不被打入新的.a,只要在静态库项目的binary里删除.a引用,但是是searchpath里保留,一样可以编译通过,这样可以避免耦合导致的多 framework冲突,特别是公用一些第三方基础库,比如 sdwebimage之类的


.a .bundle .framwork的区别

iOS库 .a与.framework区别








0 0