美文网首页ios 学习
XCode8 生成Framework(Xib+png)

XCode8 生成Framework(Xib+png)

作者: _叮叮当当__ | 来源:发表于2016-11-25 17:38 被阅读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文件,导致的错误


    相关文章

      网友评论

        本文标题:XCode8 生成Framework(Xib+png)

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