静态库
1、静态库即静态链接库(例如: windows下的.lib、Mac和Linux下的.a);
2、静态库在编译的时候会被直接拷贝一份,复制到目标程序里并且这段代码在目标程序里就不会在改变了,我猜这也是该库叫"静态库"的原因;
3、静态库的优点是在编译完成之后,库文件实际上就没有作用了,目标程序没有外部依赖,直接就可以运行;那么缺点就是会使目标程序的体积增大;
理论说完,我们进入实战
1、新建一个Test工程。如下

Test工程
2、新建一个.a静态库的target


3、修改静态库的相关参数

4、打开静态库文件,开始编写代码
ASDK.h文件中添加以下代码
#import
@interface ASDK : NSObject
+ (void)openASDK:(NSString*)string;
@end
m文件如下
#import"ASDK.h"
@implementation ASDK
+ (void)openSDK:(NSString*)string
{
NSLog(@"调用了静态库%@",string);
}
@end


然后编译后,会发现libASDK.a文件红色变成了灰色。
5、在ATest工程中添加新建的.a库文件

添加成功后,就可以在ViewController.m文件中引入头文件,使用libASDK.a库中的方法了

后面,只需调整ASDK中的方法,重新点击运行就行,大大提高了开发静态库的效率。
最后,每个静态库调试完成后,只需要根据网上的方法,对模拟器的包和真机包进行整合,就可以生成一个可以发布使用的静态库。参考指令:
lipo -create /Users/apple/Library/Developer/Xcode/DerivedData/Library-bmlhmlslupltsqfkcfgmgqzducdy/Build/Products/Debug-iphoneos/libLibrary.a /Users/apple/Library/Developer/Xcode/DerivedData/Library-bmlhmlslupltsqfkcfgmgqzducdy/Build/Products/Debug-iphonesimulator/libLibrary.a -output /Users/apple/Desktop/libLibrary.a;
学习参考
转载:https://www.jianshu.com/p/636f75857b84
来源:简书
网友评论