封装.framework文件

2019-01-02  本文已影响0人  囚你于无期_99bb

1.新建项目

2.在项目中新建类实现文件

3.修改Build Settings 下面相关配置 

修改后的内容

4.添加armv7s 

修改后内容

5.将需要公开的头文件和实现文件进行分开

公开头文件放在Public下,隐藏的文件放在Private或者Project下 【注意:隐藏的头文件无法被引用】

6.需要在MyFrameWorkTest.h文件(必须是公开的,否则无法引用)中将你所有要公开的.h文件引入。

需要公开的头文件都在这个文件中进行引入

7.打包 【分两种:手动打包、脚本打包】 

手动打包:(1)选中模拟器,编译程序 command+B

                  (2)选中真机,编译程序 command+B

                  (3)在Finder中找到framework文件

真机、模拟器下framework文件

8.合并模拟器和真机framework

lipo -create 真机framework路径 模拟器framework路径 -output 生成文件位置 【生成的文件是 .lipo 后缀,修改文件名字为库名,引入替换,导入framework使用】

总结:

1.在制作framework或者lib的时候,如果使用了category,则使用该FMWk的程序运行时会crash,此时需要在该工程 Other linker flags 添加两个参数 -Objc -all_load.

2.带有图片资源的需要把图片打包成Bundle文件,和framework一起拷贝到相应的项目中.

3.公开的类中如果引用的private的类,打包以后对外会报错,找不到那个private的类。

4。namespace冲突。静态库使用了某第三方库,项目也用了同样的第三方库,在编译的时候就会有 duplicate symbol 错误,因为有两份同样的第三方库。解决办法就是把用到的第三方库加上自定义前缀,包括类名、delegate协议、常量名,尤其需要注意Category的方法名要修改。

5.图片等资源文件用bundle 方法打包。一个简单制作bundle的方法:新建文件夹,重命名为YourSDK.bundle,然后Show Package Contents打开,加入图片。

上一篇 下一篇

猜你喜欢

热点阅读