Xcode8.0 制作.framework

来源:互联网 发布:苹果mac下载输入法安装 编辑:程序博客网 时间:2024/05/27 02:26
 

Xcode8.0 制作.framework

声明:本文章转载自dcw050505的博客

1.先创建一个项目,选择Cocoa touch Framework,点击下一步


2.把自带的.h文件删除点,再将要打包成的.framework源代码拖入项目中






3.项目设置,选择工程->targe->build setting,在搜索框中搜索linking,进行如下设置




4.把要公开的头文件已到Public中去,在使用.framework时只能调用公开.h文件中的声明




5.开始编译,选择Generic iOS Device 或者 真机,编译一下,再选择模拟器环境编译一下




6.上面的操作会出现两个版本的.framework,点击Products中的framework,选择右键在文件夹中查看。




7.真机版本适用于真机调试开发,模拟器版本适用于模拟器调试开发,将两个版本中的 CWen 文件通过终端合并成通用的,终端指令:lipo -create +上面两个文件的路径 +-output+ 合成后文件的输出路径;



8.如果出现下面的提示,说明输出路径有相同的名字




9.将合并生产的CWen文件替换真机生产的CWen.framework中的CWen文件


10.创建一个新的项目,将替换后的CWen.framework引入到项目中




11.接着在工程的search path中加上此framework的Headers的路径




12.按下Command + R进行编译,没有错误的话在开发中引入.framework中的头文件就可以使用了,下面是我在集成框架遇到的错误,这种情况是编译没有错误,运行的时候就会报这样的错误,也就是说在链接的时候发生了错误。




13.解决方法:在tagert中的Other Linker Flags 中加入所需的参数,一般是这三个:-ObjC、-all_load、-force_load,我添加了第一个问题就解决了。





14.至此,我的.framework制作和使用就完成了,使用过程:在项目的全局.pch文件中包含了.framework头文件,刚开始编写代码时没有提示, clear一下再编译就好了。遇到的问题也就是这些,后期使用中如果遇到其他的问题会再来这里补充,刚刚接触这一块,有什么不对的地方希望大家可以指出。


15.问题补充:

如果制作的.framework中包含其他第三方框架,而且其他第三方框架中有bundle文件,在拉入的时候可以忽略这个bundle,制作.framework成功后,可以将这个.framework和刚才那个bundle文件放入一个文件夹,再拖入其他项目中,或者同时将.frameworkbundle拖入其他项目中

原创粉丝点击