zoukankan      html  css  js  c++  java
  • iOS: 创建静态库,实现自己的API私有使用

    一、介绍

    在开发中经常使用到第三方的静态框架,格式基本上就是.framework和.a格式的。使用时,会发现我们只能使用无法修改,这就是静态框架的一个好处,私有性。内部实现的代码只有公开者本人知晓,对外界是隔离的,从劳动成果上讲,这也是对作者本人或者公司的一个代码保护。那么,我们如何创建属于自己的静态库呢,下面我就简单地将步骤再次描述一下,在我之前的博客中有过详细的介绍,可以去瞅瞅:https://www.cnblogs.com/XYQ-208910/p/5157673.html

    二、比较

    注意:

    (1)开发者的都是静态包: .framework 、.a

    (2)苹果官方都是动态包: .framework 、.dylib

    (3)开发者创建的动态包.dylib是不允许被上架的

    作用:

    (1)方便共享代码,便于合理使用

    (2)实现程序模块化,对业务解耦

    (3)开发sdk,保护具体实现代码

    区别:

    (1).a是一个纯二进制文件,不能直接使用,至少需要配合.h文件一起使用 

    (2).framework除了包含二进制文件,还可以包含资源文件。

    (3).framework = .a + .h + sourceFile

    (4)建议使用.framework

    三、步骤

    3-1:创建.framework步骤

    (1)创建.framework工程项目

    (2)配置buildSetting属性字段 (有的配置会增加包体积,有的会减少包体积)

    (3)拖入需要的类文件和资源包  (此处我没有引入资源包,可以自己创建并引入一个.bundle资源包)

    (4)在BuildPhases中公开.h文件

    (5)在静态包中引入引用的.h文件

    (6)使用模拟器和真机分别在debug和release模式下编译

    (7)show Finder静态包,查找编译成功的二进制文件

    (8)使用lipo  -create  -output 命令行合并二进制文件

    (9)选取模拟器和真机的任意一个静态包,使用合并的二进制文件替换选取的静态包的二进制文件

    (10)将拷贝后的静态包拖入到测试项目中测试

    3-2:创建.a步骤

    (1)创建.a工程项目

    (2)配置buildSetting属性字段,同上面创建.framework步骤2

    (3)拖入需要的类文件和资源包  (此处我没有引入资源包,可以自己创建并引入一个.bundle资源包)

    (4)在BuildPhases中新建New Headers并公开.h文件

    (5)使用模拟器和真机分别在debug和release模式下编译,同上面创建.framework步骤6

    (6)show Finder静态包,查找编译成功的二进制文件

    (7)使用lipo -create -output命令行合并二进制文件生成一个新的.a包

    (8)将这个新的.a静态包拷贝出来,同时将项目中的所有暴露的.h文件拷贝出来(如果有资源文件也要拷贝),放到一个文件夹下。此时,将该文件夹拖入到测试项目中测试

  • 相关阅读:
    Windowsforms 中对文件操作
    ADO.net增删改的使用
    ADO.net数据访问
    可空类型
    FineUI 页面跳转
    ASP.NET页面之间传递值的几种方式
    C# Find() 与 FindAll()方法的使用
    在Sql中将 varchar 值 '1,2,3,4,5,6' 转换成数据类型 int
    DataSet、DataTable、DataRow、DataColumn区别及使用实例
    C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串
  • 原文地址:https://www.cnblogs.com/XYQ-208910/p/11751496.html
Copyright © 2011-2022 走看看