iOS制作framework

作者: LuisX | 来源:发表于2017-09-25 17:47 被阅读322次
    framework

    在编写 iOS 的 App 时,有很多的功能只需要通过 API (Application Programming Interface) 调用别人已经写好的代码就可以了。
    iOS SDK 内置了很多不同功能的 API,如果将这些 API 中相似或类似同一类型问题的 API 包装起来,就成为一个 “framework”。

    Xcode 中建立的项目,预先会加载 Foundation,CoreGraphics,UIKit 这3个基本的 framework。

    • Foundation(提供最常用的类和数据类型)
    • UIKit(提供触控为基础的类)
    • CoreGraphics(提供绘图的类)

    一、打开Xcode创建工程,选中CocoaTouchFramework

    首先新建一个项目,选择Cocoa Touch Framework

    给它取一个响亮又文雅的名字

    二、在TARGETS下,选中BuildSettings

    1、搜索linking项,修改如下
    项目 设置 说明
    Dead Code Stripping NO 关闭对代码中“dead”,“unreachable”代码过滤
    Link With Standard Libraries NO 避免重复链接
    Mach-O Type Static Library 用户制作的只能是静态库(系统的framework可以是动态库)
    2、搜索architectures项,修改如下

    针对一些特殊机型的支持,添加armv7s架构。(增加对使用该架构的支持)

    项目 设置 说明
    Build Active Architecture Only NO 编译所有的版本(反之, 只编译当前的architecture版本)

    三、在TARGETS下,选中BuildPhases

    1、搜索header项,修改如下

    新建MCDefine文件,将公开的头文件拖入Public中,私有的放入Private或Project中,隐藏的头文件就无法再被引用。

    四、MagicCubeKit.h导入头文件

    在MagicCubeKit.h中将你所有要公开的头文件引入。(MagicCubeKit.h必须为公开的,否则无法引用)

    MagicCubeKit.h文件中
    #import <UIKit/UIKit.h>
    
    //! Project version number for MagicCubeKit.
    FOUNDATION_EXPORT double MagicCubeKitVersionNumber;
    
    //! Project version string for MagicCubeKit.
    FOUNDATION_EXPORT const unsigned char MagicCubeKitVersionString[];
    
    // In this header, you should import all the public headers of your framework using statements like #import <MagicCubeKit/PublicHeader.h>
    
    /*
     * 导入公开的头文件,供他人使用
     */
    #import <MagicCubeKit/MCDefine.h>
    

    五、打包framework

    1、选中Generic iOS Device,然后Command+B编译framework
    2、选中任意模拟器,然后Command+B编译frameWork
    3、选中Products文件夹中MagicCubeKit.framework,然后Show in Finder
    4、可以在Finder中看到Products下的两个文件夹
    名称 说明
    Debug-iphoneos 真机编译生成
    Debug-iphoneosimulator 模拟器编译生成
    5、将两个framework中的MagicCubeKit文件合成

    5.1、真机编译framework

    5.2、模拟器编译framework

    5.3、输入命令

    lipo -create(上面两个文件【真机、模拟器】路径)-output(合成后文件的输出路径)
    

    5.4、如图(注意:-output路径拼接MagicCubeKit

    5.5、桌面framework文件夹下得到了合成的MagicCubeKit文件

    5.6、用上面的文件替换(真机编译framework)Debug-iphoneos文件夹下的MagicCubeKit

    5.7、得到最终的framework

    6、将MagicCubeKit.framework拖入项目工程中使用

    参考文章:

    Xcode8制作framework
    iOS制作framework
    iOS封装功能生成 .framework

    相关文章

      网友评论

        本文标题:iOS制作framework

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