类库:类库就是代码的集合,类库是给开发者共享代码使用的
类库分为: 静态库和动态库
静态库: .a和.framework
链接时,静态库中使用的文件会被完整的复制到可执行文件中,被多次使用就有多分冗余拷贝
动态库: .dylib和.framework(iOS9取消了.dylib,使用.tbd替代)
链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序公用,节省内存
动态库相对来讲不安全,潜在注入攻击,所以项目中使用自定义动态库,不允许上传AppStore
生成.a类型的静态库:
创建工程时,在iOS下选择Framework&Library:
Cocoa Touch Static Library(.a)
Cocoa Touch Framework(.framework)
这里以.a为例:
Library_1.png
创建好后默认只有一个.h和.m文件:
Library_2.png
为了演示,在.h中声明一个简单的类方法,在.m中实现:
@interface JSLibrary : NSObject
+ (int)sumWithNumber1:(int)number1 andNumber2:(int)number2;