zoukankan      html  css  js  c++  java
  • iOS 打包静态类库 lib.a

    iOS 打包静态类库 lib.a

    流程

    1: xcode---新建项目---iOS-framework&Library-----Cocoa touch Static Library----Next 

    2:建立工程之后---Target-----build phases----

     在第一栏:Target Depencies里面,添加该静态库的依赖

     在第二栏:Complie Sources 里面,添加要编译的所有的 .m 文件;

     在第三栏:Link binary With 里面,添加 静态库,依赖的,所有其他framework

     在第四栏:Copy files 里面,添加所有 展示给别人能够看到的头文件 .h 文件,以及一些不能编译的资源文件,比如图片,bundle资源文件;

    3:编译为 模拟器的  静态类库;选择一个模拟器编译;

    4:编译为 真机版的 静态库;选择 iOS Device 或是一个真机设备 ,编译;

    5:在 product 目录下,看到libxxx.a 右键,show in finder 即可找到对应编译的库

     

     其中:iphoneos 目录,为编译的真机版本库,iphonesimulator 目录为模拟器下编译的版本;

    6:在 终端下 使用 lipo -info + lib.a文件 ,查看 编译静态类库的 arm框架;

     arm 框架对应的 iOS 设备

     armv6:   iPhone, iPhone2, iPhone3G以及第一代和第二代iPod Touch

     armv7:

    iPhone3GS, iPhone4

    iPad, iPad2, the new ipad

    iPod touch 3G, iPod touch 4

     armv7s: iPhone5,5c

     arm64: iPhone5s

     其中上图:i386 x8664 指的是 mac 电脑模拟器;

    7:使用 lipo -create 命令,把 真机版本和模拟器版本 合并成一个 libxxx.a

        lipo -create path/simulator.a path/device.a -output path/libxxx.a

        例如:

    lipo -create Release-iphonesimulator/libOpenStack.a Release-iphoneos/libOpenStack.a -output libOpenStack.a

    最后生成的 libOpenStack.a就是最后,真机版和模拟器版合并的版本;

  • 相关阅读:
    MySQL 8.0.14版本新功能详解
    Uncaught TypeError: Right-hand side of 'instanceof' is not an object
    程序员快速技术提升之道
    Windows 10 cmd命令符的使用
    数据千万条,备份第一条:VFEmail被擦除所有数据面临关停
    netty-socketio 示例代码
    idea中 在接口中如何直接跳转到该接口的是实现类中?
    perl DBD处理超时问题
    springboot 启动配置文件配置
    Office Word 发布文章到博客园
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3843657.html
Copyright © 2011-2022 走看看