ios 学习

XCode8 生成Framework(Xib+png)

2016-11-25  本文已影响788人  _叮叮当当__

简单记录一下用Xcode8生成静态Framework的步骤,因为比较繁琐,容易出错,特此记录一下:

1.创建项目

如图选项所示:


2.新建bundle用来存放Xib和png等资源文件(注意名字不能和静态库重复)

因为iOS没有这一项,所以需要选择macOS,然后搜索bundle

3.设置frameWork为静态库

注意图中左侧选择的是黄色小箱子,然后在build-setting中搜索mach,将设置项更改为static library。默认是Dynamic library

4.设置新建bundle为IOS同时关闭bitcode

刚才新建的bundle是针对macOS的,所以需要我们手动修改BaseSDK,如图,默认是macOS

5.新建项目,ViewController + Xib

特别注意的是:如果VC中需要用图片,不要再Xib中设置,因为到时候会找不到路径而无法展示,所有图片都需要纯代码设置, 设置图片和LoadXib方式一样:

6.将Xib和png放入bundle中

7.设置Bundle的COMBINE_HIDPQ_IMAGES为NO

否则bundle中的png图片经过编译打包会变成tiff的文件,进而导致对应图片找不到


8. 设置静态库暴露的头文件

将需要暴露出来的.h文件从project中拖到Public中

9.生成静态库framework和bundle文件
分别选中左下角图中静态库和bundle文件,然后run,然后open in finder,就会得到两个文件,然后将两个文件拖入项目中

10.项目中设置

将以上生成的静态库和bundle文件拖入项目中后:

手动将刚才生成的framework拖入进来

11.引入头文件,调用头文件

手机上出现了静态库中封好的带界面的SDK!

Have Fun!



如果在引入static library之后,出现报错的情况:

1、unrecognized selector sent to instance

Terminating app due to uncaught exception 'NSInvalidArgumentException'

出现上述情况可能是因为需要调整如下设置:

2、如果出现

Undefined symbols for architecture arm64:"_OBJC_CLASS_$_FBSession",referencedfrom:someFile

ld:symbol(s) not found for architecture arm64

这时很大可能是因为静态库编译出错。

可以进入

中去查看是否缺少了某些.m文件,导致的错误


上一篇下一篇

猜你喜欢

热点阅读