首页 > 代码库 > ios开发 静态库制作

ios开发 静态库制作

IOS程序是由Objective-c语言构成,而是Objective-c语言中每一个类又分成 .h .m 文件。静态库可以将这些程序的类封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。总的来说IOS静态库适合去制作第三方提供的SDK,废话不多说了我们直接进正题。

制作静态库

 

代码如下

 1 #import <Foundation/Foundation.h> 2  3 @interface BookModelLib : NSObject 4 { 5     NSString* _iconUrl; 6     NSString* _bookName; 7     NSString* _publisher; 8     NSString* _price; 9     NSString* _autherName;10     NSString* _pubdate;11     NSString* _translator;12     NSString* _introUrl;13     NSInteger _numRatings;14 }15 @property(retain, nonatomic)NSString* iconUrl;16 @property(retain, nonatomic)NSString* pubdate;17 @property(retain, nonatomic)NSString* introUrl;18 @property(retain, nonatomic)NSString* autherName;19 @property(retain, nonatomic)NSString* translator;;20 @property(retain, nonatomic)NSString* bookName;21 @property(retain, nonatomic)NSString* publisher;22 @property(retain, nonatomic)NSString* price;23 @property(assign, nonatomic)NSInteger numRatings;24 25 -(void)showInfo;26 27 28 @end
 1 #import "BookModelLib.h" 2  3 @implementation BookModelLib 4  5 -(void)showInfo 6 { 7     NSLog(@"_bookName:%@",_bookName); 8     NSLog(@"_publisher:%@",_publisher); 9     NSLog(@"_price:%@",_price);10 }11 12 @end

cmd+B编译,编译的时候选择两种环境编译

合并.a文件 

lipo -create libBookModelLib_os.a libBookModelLib_lib.a -output libBookModelLib.a

使用静态库

使用静态库就比较简单了,将.h头文件和.a文件拖入项目

 1 #import "ViewController.h" 2 #import "BookModelLib.h" 3  4 @interface ViewController () 5  6 @end 7  8 @implementation ViewController 9 10 - (void)viewDidLoad11 {12     [super viewDidLoad];13     // Do any additional setup after loading the view, typically from a nib.14     15     BookModelLib *bModel=[[BookModelLib alloc]init];16     bModel.bookName=@"fewfwefe";17     bModel.iconUrl=@"http://fjoewjf";18     bModel.publisher=@"fewfewfewew";19     bModel.price=@"few50";20     [bModel showInfo];21     22 }23 24 - (void)didReceiveMemoryWarning25 {26     [super didReceiveMemoryWarning];27     // Dispose of any resources that can be recreated.28 }29 30 @end

呵呵,ok,这样就可以直接使用静态库了,超级简单有木有。。。。

ios开发 静态库制作