iOS开发之静态库—— 图片、界面xib等资源文件封装到.a静态库

公司的一个项目,需要做成一个.a静态库供别人调用,但是静态库中引用到了图片和xib
1.打开Xcode,点击File\New\Project,选择iOS\Framework and Library\Cocoa Touch Static Library新建一个静态库工程.
在这里插入图片描述

2.导入你的项目(包括项目里面所有的功能类和资源文件)
1》对于图片,建议不要把存放图片的Assets.xcassets文件直接挪过来,这样后期把资源文件打包后,不方便读取读取到图片;
2》我在这里把xib,故事板,和图片都放在了一个文件夹下面,是为了大家看的方便,开发者也可以不这么做
3、把你项目里面需要被开发者引用的类暴露出来(例如:我需要从外面引用到MyProjectController这个控制器,就把.h文件从 project路径下面移动到public路径下)

在iOS中,资源库是用bundle来实现的,网上的很多做法都是建立一个target,然后在target选择bundle,把图片放到bundle中,这种方法的缺点是:bundle只允许在mac中建立,而iOS是不支持的,所以要先选择mac平台建立target,然后建立bundle,再将图片拷进去,再修改配置属性来支持iOS平台,操作太繁琐了。

其实bundle本质上就是一个目录,里面可以存放各种资源,比如图片,xib等等。因此,简单的做法是:建立一个目录,把你的图片放进去,将目录重命名为xxx.bundle,然后就库在代码中读取图片资源了,比如要读取usc.bundle 中的alert.png图片:

NSBundle *bundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@“usc” ofType:@“bundle”]];

NSString *alertImagePath = [bundle pathForResource:@"alert" ofType:@"png"];

UIImage *img = [UIImage p_w_picpathWithContentsOfFile:alertImagePath];

这样就可以将.bundle 和 .a 文件一起发布出去了。
把.bundle 和 .a 文件 一起放到工程里面,这样就可以了
发布了128 篇原创文章 · 获赞 106 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/Z1591090/article/details/88252062
今日推荐