美文网首页
学习笔试--静态库和动态库

学习笔试--静态库和动态库

作者: 只敲代码不偷桃 | 来源:发表于2016-04-12 16:36 被阅读51次

静态库和动态库的存在形式

  • 静态库:.a和.framework
  • 动态库:.dylib和.framework

创建自己的库的步骤

  1. 新建项目,选择想要创建的库类型(以打包.a文件为例)


    生成库
  2. 写好自己的工具类,比如:在.h中声明一个方法
+(NSInteger)sumNum1:(NSInteger)sumNum1 sumNum2:(NSInteger)sumNum2;

在.m中实现方法(自己的核心代码,不想被别人看到)

+(NSInteger)sumNum1:(NSInteger)sumNum1 sumNum2:(NSInteger)sumNum2
{
    return sumNum1 + sumNum2;
}

3.点击工程文件-->Build Phass -->Copy Files添加.h文件(需要暴露在外,方便其他用户引入的文件)


步骤示意图
  1. 然后分别在模拟器情况下、真机调试情况下(不必真的连接真机)编译 command+B
    5.点击项目中的.a文件 在Finde中显示就会发现自己打包好的.a文件了


    打包好的.a文件
  *每一个设备豆油属于自己的CPU架构(4s、6plus)
  *每一个静态支持的架构是固定的(libstaticlib.a)
  *查看静态库支持的架构(命令行代码):lipo -info libstaticlib.a(info后面跟的是自己.a的文件名)
模拟器
4s-->5:用的都是i386架构。
5s-->6plus:用的都是x86_64
真机
3gs-->4s:armv7
5/5s:armv7s,静态库只要支持了armv7,就可以跑在armv7s的架构上
5s-->6plus:arm64*/```
#####注意:由于架构的不同,导致在一种模拟器下编译出来的.a文件不适用于其他模拟器,解决办法如下
![Paste_Image.png](https://img.haomeiwen.com/i1480477/8839755fae8185f3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

静态库合并(终端命令行):lipo -create 静态库1 静态库2 -output 新的静态库

***
以上方法是单纯的打包一个静态库,如何在项目中直接调试静态库呢,其实大同小异,新建一个项目-->添加一个静态库
![添加静态库](https://img.haomeiwen.com/i1480477/686ed8928ccccccb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
然后把你想要打包成静态库的代码全部放到这个文件夹下
![Paste_Image.png](https://img.haomeiwen.com/i1480477/50f1f9d8212cc5ee.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
此时编译代码会报错,原因是没有导入自带的静态库,方法步骤如下
![Paste_Image.png](https://img.haomeiwen.com/i1480477/8dec4ad4148b4a25.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
接下来就可以在项目中,边开发边调试静态库了,等调试没有问题之后,再进行打包.a文件(打包流程和上面的一样),供他人使用。
***
打包.framework时,默认是动态库(苹果官方不让上架,徐改成静态库)只需在Build Settings下搜索mach需改framework的类型为静态库
![修改静态库](https://img.haomeiwen.com/i1480477/438646332c55e8c6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

相关文章

  • 学习笔试--静态库和动态库

    静态库和动态库的存在形式 静态库:.a和.framework 动态库:.dylib和.framework 创建自己...

  • iOS 静态库和动态库的制作

    静态库和动态库 一、静态库和动态库的存在形式 静态库: .a 和 .framework 动态库: .dylib 和...

  • 静态库和动态库

    静态库和动态库的存在形式静态库:.a 和 .framework动态库:.dylib 和 .framework 静态...

  • Swift 静态库调研

    一、关于库的背景知识1、静态库和动态库静态库动态库系统动态库Cocoa Touch Framework静态库 v....

  • iOS 静态库封装

    静态库和动态库 静态库和动态库存在形式 静态库:以.a 和 .framework为文件后缀名。 动态库:以.tbd...

  • iOS-SDK从无到有

    A、关于静态库和动态库 静态库:.a和.framework ,动态库:.dylib和.framework。.fra...

  • 自定义三方SDK静态库、.framework

    静态库和动态库的存在形式 静态库: .a 和 .framework动态库: .dylib 和 .framework...

  • iOS静态库与动态库

    静态库与动态库 存在形式: ①静态库:.a 和 .framework②动态库:.dylib 和 .framewor...

  • 创建静态库

    iOS深入学习(创建静态库static library) 库包含静态库和动态链接库,他们之间区别是:静态库可以编译...

  • iOS开发-----静态库.a的制作教程

    (1)静态库和动态库的存在形式 静态库:.a和.framework 动态库: .dylib 和 .framewor...

网友评论

      本文标题:学习笔试--静态库和动态库

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