Sdk制作

iOS Lib库/Bundle包/SDK的生成(一)

2018-04-22  本文已影响184人  爬树的蚂蚁

前言

开发中常常会使用到用到别人的lib库文件、Bundle文件以及SDK,感觉挺好用的,最主要是提高开发效率。三种文件都属静态库,另外其实是有动态库的,不过苹果禁用,审核通不过,先说说动态库与静态库的区别
静态库:

动态库:

静态库又分为:framework 与static Library(.a )。

区别:

如果不考虑代码冲突,可以建立staticLibrary,因为这个可以减小包的大小

下面我们就来创建自己的静态库文件

一、lib库文件

创建

打开xcode,选择创建Static Library项目


拖入文件

将需要放入lib的文件拖进去


计划这个lib库,只开放一个API出去,外面调用就可以了。

配置对外开放可见的文件

在Compile Sources下的文件对外不可见,而Copy Files下的文件对外可见

定制lib库支持的操作系统

Latest iOS(iOS 11.2)即当前编译环境所用的系统版本

配置工程为release模式
分别在真机和模拟器下编译工程,生成.a文件

编译完成后会生成两个".a"文件。通过目录:“用户/xiangzuhua/资源库/Developer/Xcode/DerivedData”进到xcode软件的DerivedData目录。
然后按照图片的指示就可以找到".a"文件


合并

打开终端

整合一个可用的lib文件夹

新建一个文件夹,将合成的.a文件和API文件放到文件夹中。然后将文件夹拖入新建的测试工程


在工程中调用

运行工程,不管是模拟器还是真机,都可以正常展示lib库中实现的功能。

二、Bundle文件生成

Bundle 是用来存放图片、xib等静态资源文件的,一般与lib库配合使用。

使用xcode创建Bundle项目
设置支持iOS系统

否则有xib文件的时候,编译不通过。

添加图片和xib文件

将准备好的图片拖入项目中



创建一个xib文件



将xib上添加4张imageView,并把图片展示上去
编译生成Bundle文件

Command+b,编译一下工程,然后找到bundle文件,就可以拿来用了

把bundle文件和上面创建的lib文件一起添加到项目中
使用bundle中的图片和xib文件
//使用bundle文件中的图片
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"ZHBundle_text" ofType:@"bundle"];
NSString *imagePath0 = [[NSBundle bundleWithPath:imagePath] pathForResource:@"箭头-2" ofType:@"png"];
UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
[self.view addSubview:imageView];
imageView.image = [UIImage imageNamed:imagePath0];

效果如下


//使用bundle中的xib
NSBundle * xibBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"ZHBundle_text" ofType:@"bundle"]];
UIView * view = [[xibBundle loadNibNamed:@"ZHTestView" owner:self options:nil] objectAtIndex:0];
[self.view addSubview:view];

效果如下


上一篇 下一篇

猜你喜欢

热点阅读