美文网首页
二进制化(二)Framework

二进制化(二)Framework

作者: 紫荆秋雪_文 | 来源:发表于2018-05-12 23:08 被阅读57次

    一、Framework说明

    • 1、Framework也是代码二进制的一种方案,Framework与静态库的区别可以移步到二进制化(一)静态库
    • 2、Framework可以是静态库也可以是动态库

    二、Framework制作

    • 1、创建Framework 创建Framework.png
    • 2、编写代码并且编译生成Framework,其中RevanFramework是可执行文件RevanFramework.h是暴露出去的头文件,但是并没有发现我们创建的RevanFrameWorkLog.h,这样的话是无法使用RevanFrameWorkLog中的方法的,所以还需要设置使得RevanFrameWorkLog.h暴露出来 编译生成的Framework.png
      • 设置自定义的文件暴露头文件给外界调用 暴露头文件.png
    • 3、查看当前Framework的架构是x86_64 模拟器iPhone8编译出来的Framework支持架构.png
    • 4、通过测试这个RevanFramework,运行会崩溃。这是因为创建出来的Framework是一个动态库,如果想使用动态库需要在工程中进行设置 创建出来的Framework是动态库.png
      • 工程中设置加载动态库Framework 工程中设置加载动态库.png
    • 5、查看Framework是否为动态库 通过file命令来查看Framework是否为动态库.png
    • 6、设置Framework为静态库 设置Framework为静态库.png
    • 7、当使用iPhone5模拟器编译时,项目报RevanFrameworkLog找不到i386 缺少i386架构.png
    • 8、设置支持所有模拟器中的架构,首先要确定指针的Framework支持的最低版本,当最低版本为v11.0的时候,编译只会生成x86_64;如果最低版本为v8.0时,编译会生成x86_64和i386 支持模拟器所有架构.png

    三、制作真机Framework

    制作真机的Framework和制作模拟器Framework步骤是一样的,只是在编译的时候不能选择模拟器而是选择Generic iOS Device 或者是真机 制作真机Framework.png

    四、制作release环境下的 Framework

    制作过程和上面是一样的,只需要把编译环境配置成release release环境下的Framework.png

    五、小结:不同机型的CPU,对应的架构不同

    • 模拟器

      • 4s - 5:i386
      • 5s - iPhone X:x86_64
    • 真机

      • 3gs - 4s:armv7
      • 5 / 5c:armv7s (armv7兼容armv7s)
      • 5s - iPhone X:arm64

    相关文章

      网友评论

          本文标题:二进制化(二)Framework

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