OC 闭源库

来源:互联网 发布:杰奇网络注册 编辑:程序博客网 时间:2024/06/05 15:11

闭源库

  • 主要分为:
    • 静态库: .a和. framework
      • 连接时,静态库会被完整的赋值到可执行文件中,被多次使用就有多分冗余拷贝
    • 动态库: .dylib 和 .framework(iOS9取消了.dylib 使用 .tbd替代)
      • 连接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存
  • 架构问题: Undefined symbols for architecture x86_64
    不能裕兴在 x86_64架构上

    1. 模拟器架构 4/4S/5 i385架构(32位)
      5S/6/6p/6ps x86_64架构 (64w位)

      • 真机架构
        4/4S armv7(32位)
        5 armv7s(32位)
        5S/6/6p/6ps arm64(64位)
      • 查看静态库当前架构的方法
      lipo -info 架构名.a 
      • 合并架构(使得真机和模拟器都能使用,支持多架构)
      • 方法一:
          lipo - create 静态库名.a 要合并的库名.a -output 新库名.a
      • 方法二:
        在 Build Setting 中将 Build Active Architecture OnlyDebug也改为NO
      • 合并库的优缺点
      • 不合并的缺点:需要切换虚拟机和真机
      • 不合并的优点:体积小
      • SDK 体积比较大,建议不要合并架构 运行速度快点儿

      • Debug: 有丰富的调试代码 运行效率低 程序员开发使用

      • Release: 没有调试代码 运行效率高 上线后用户使用

动态库是不允许上线的

资源库

  • 相当于一个文件夹
  • 编译时不会自动添加到静态库中,需要手动导入
0 0
原创粉丝点击