xcode8 Framework制作

作者: chilim | 来源:发表于2017-07-11 19:35 被阅读1050次

    啥都不说直入主题
    1.打开xcode创建framework项目


    图1.png

    2.将你的源码文件放进工程


    图2.png
    3.将你要公开的头文件写在这里
    图3.png
    并且在build phases里把这些头文件从project移动到public
    图4.png

    4.选择工程文件>target第一项>Build Setting>搜索linking,然后几个需要设置的选项都显现出来,首先是Dead Code Stripping设置为NO,网上对此项的解释如下,大致意思是如果开启此项就会对代码中的”dead”、”unreachable”的代码过滤,不过这个开关是否关闭,似乎没有多大影响,不过为了完整还原framework中的代码,将此项关闭也未曾不可。然后将Link With Standard Libraries关闭,我想可能是为了避免重复链接。最后将Mach-O Type设为Static Library,framework可以是动态库也可以是静态库,对于系统的framework是动态库,而用户制作的framework只能是静态库。还有一个我踩的坑,要设置defines module为NO,不然集成的时候会出现Include of non-modular header inside framework module错误。设置bitcode为NO。


    图5.png
    图6.png
    图7.png
    这里的默认就好了。
    图8.png
    5.如果要用到cocoapods第三方库,则直接跟正常项目一样添加cocoapods就行了
    图9.png
    6.添加bundles图片,则直接新建文件夹,然后改后缀名为.bundle然后把图片拖进去就行了。
    用图片的时候这样用
    图10.png
    7.分别选择模拟器和真机command+B最终生成模拟器的framework和真机的framework,然后我们将他们合并:

    打开终端,lipo -create 模拟器framework里面的二进制文件路径 真机framework里面的二进制路径 -output 输出合并后的二进制路径/二进制文件名称(注意是合并framework里面的二进制文件而不是framework)最后把输出合并后的二进制文件复制替换到模拟器framework里面的二进制文件和真机framework里面的二进制文件。


    图10.png
    8.将替换合并后的模拟器framework或者真机framework直接拖到项目工程中,然后再把存放图片的bundle也拖到项目工程中。直接使用就行了。

    参考资料:
    Xcode 创建.a和framework静态库
    ios开发:Xcode8制作framework及使用
    iOS8 Framework使用加载xib及图片
    【iOS 开发】打包 Framework 时使用 CocoaPods 引入第三方库的方法

    相关文章

      网友评论

        本文标题:xcode8 Framework制作

        本文链接:https://www.haomeiwen.com/subject/ribmhxtx.html