• iOS 静态库——制作.a


    .a 静态库的制作    演示制作AFNetworking 的静态库(静态库里面 不包含其它和 AF 无关的文件)

    1、新建项目-> 选择 “Cocoa Touch Static Library” 

    2、网上下载的AFNetworking 添加进去,CustomSDK.h   CustomSDK.m   Student.h   Student.m  用来代表 其它不需要打包进来的文件。 

    3、选择打包到.a  和暴露出来的文件。

    3、Edit Scheme 改为release 快捷键 command + shift + <    

      

     4、 选择真机设备,command + b 编译一下,然后Products 里面的.a 文件(真机状态编译后,由红变黑),  show in finder 可以看到编译产生的包。

      (模拟器和真机的.a是分开的,要分开制作。注意建议先选择真机,这样才会变色。

       如果先选择模拟器,那么编译通过了,但是不会由红变黑,实际上是已经编译了模拟器的,只是给人一种假象,好像没编译一样,还是红色的。

       我这里就是先编译模拟器,后编译了真机,结果没有红色变黑色)。

      注: 编译前检查一下是debug模式还是release模式,选择release模式:

    • 分debug和release模式:
    • Debug-iphoneos 文件夹里面的东西是用在真机上的
    • Debug-iphonesimulator 文件夹里面的东西是用在模拟器上的
    • 如果 Scheme 是 Release 模式,生成的文件夹就以 Release 开头

    5、选择模拟器,重新 command + b 编译,

        Products 里面的.a 文件 show in finder 可以看到编译产生的真机包,加上之前的真机包,此时有两个包了

    6、合并模拟器(release-iphonesimulator)和真机(release-iphoneos)下的.a,以便支持真机和模拟器,合并后的.a大小大约是不合并的2倍左右。

    合并的命令

    lipo  -create /Users/mac/Desktop/dabao/Release-iphoneos/libCustomSDK.a  /Users/mac/Desktop/dabao/Release-iphonesimulator/libCustomSDK.a -output /Users/mac/Desktop/dabao/hebingCustomSDK.a

     

    路径太长,下面有个简单的方式:(每一步记得要用空格隔开,不要遗漏了)

    a1、新建文件夹:"dabao";

    a2、将上述的release-iphonesimulator和release-iphoneos两个文件拷贝进"dabao"文件夹

    a3、在终端输入:lipo  -create

    a4、将release-iphonesimulator下的.a拖进终端,输入一个空格;

    a5、继续将release-iphoneos 下.a 拖进终端,输入空格

    a6、继续输入:-output ,打个空格

    a7、输入合并后的.a所要放的文件路径,这里举例依然放在“dabao”这个文件夹下,则我的电脑的路径为:

    /Users/mac/Desktop/dabao/hebingCustomSDK.a, 回车,在相应的文件下即可生成一个.a,该.a即是合并后的.a.

     

    这样  .a 就成功制作出了,

    7、整理。

    a1. 新建个文件夹,可以任意取名字。

    a2.  把暴漏的头文件、制作的.a 文件夹。

    到此这个包就可以被其他工程接入使用了,再也不用担心源码暴漏或别人随意修改你的代码了。

    注:如果有图片资源,图片资源是不能打进.a的,需要在外面添加的。

     github 地址:  https://github.com/lc081200/makeStaticLibrary


    相关阅读】:

    1、iOS 静态库——理论

    2、iOS 静态库——.a制作

    3、iOS 静态库——Framework制作

  • 相关阅读:
    HDU 1847
    HDU 1717
    KMP未优化模板、
    Codeforces Round #340 (Div. 2) B. Chocolate
    HDU 1042 N!
    HDU 1018 Big Number
    HDU 1031 Design T-Shirt
    解决Windows 7删除执行过的 EXE、Bat文件有延迟的问题
    修改Android手机的“虚拟机堆大小”和android:largeHeap来防止APP内存溢出问题
    Android引用百度定位API第三方组件后导致其它.so文件无法正常加载的问题
  • 原文地址:https://www.cnblogs.com/saytome/p/7232489.html
Copyright © 2020-2023  润新知