iOS 制作静态库、制作bundle
静态库制作
参考:http://www.jianshu.com/p/a1dc024a8a15
1.新建静态库 (新建工程->Cocoa Touch Static Library)
屏幕快照 2017-12-06 10.59.51.png
可以删除默认生成的类,新建类,写源代码,或者将需要的源代码添加进工程,或者添加需要的系统框架
2.配置一下工程
713ED41B-48FB-4221-9770-48ADCFEE8011.png
3.选择需要暴露出来的 .h 文件和.m文件, .m 文件会自动编译到 .a 文件中
91BDAD36-026E-46A4-8E1E-31F33EAB9DDA.png
4.编译前检查一下是debug模式还是release模式,选择release模式
8FBB8F4F-F02A-4839-AA1D-8F1F085A9FE0.png
5.选择真机设备,然后 Command+B 编译, libSPCustomerServerse.a 文件从红色变为黑色
6.选择模拟器,建议选择iPhone6以上的(选择高级点的,低级的也可用,若选了低级的,高级的有可能就不适配了)然后依然 Command+B 编译,模拟器和真机环境下用的 .a 文件是分开的。
7.合并模拟器.a和真机.a
命令:lipo -create
lipo -create Release-iphonesimulator/libCFFTest.a路径 Release-iphoneos/libCFFTest.a路径 -output 合并之后的.a路径(合并之后的.a命名可以自己定义,路径也可以自己定义)
lipo -create /Users/company/Desktop/dabao/Release-iphonesimulator/libCFFTest.a /Users/company/Desktop/dabao/Release-iphoneos/libCFFTest.a -output /Users/company/Desktop/dabao/libCFFTest.a
8.查看是否合并成功
lipo -info /Users/company/Desktop/dabao/libCFFTest.a
使用静态库
将要暴露的.h文件和.a文件放到一个文件夹(静态库文件夹)中,拖入工程中就可以,导入.h文件,使用静态库了
屏幕快照 2017-12-06 10.54.08.png
如果出现.a链接问题,那就删除静态库文件夹,重新拖入工程中
bundle制作 (仅包含图片的资源库)
1.在工程中新建bundle,iOS->Resource->Setting Bundle 命名bundle,比如Resource.bundle
屏幕快照 2017-12-06 10.41.51.png
2.在.bundle文件里面新建images文件夹,拖进图片
屏幕快照 2017-12-06 10.40.55.png
3.代码里面获取bundle图片
//加载自定义名称为Resources.bundle中对应images文件夹中的图片
//从mainbundle中获取resources.bundle
NSString *strPath = [[NSBundle mainBundle] pathForResource:@"Resource" ofType:@"bundle"];
//找到对应images夹下的图片
NSString *strImage = [[NSBundle bundleWithPath:strPath] pathForResource:@"cff2" ofType:@"png" inDirectory:@"images"];
UIImage *ima = [UIImage imageWithContentsOfFile:strImage];