当前位置:首页 > 操作系统 > 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;
2425 -(void)showInfo;
262728@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}
1112@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)viewDidLoad
11{
12    [super viewDidLoad];
13// Do any additional setup after loading the view, typically from a nib.1415     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];
2122}
2324 - (void)didReceiveMemoryWarning
25{
26    [super didReceiveMemoryWarning];
27// Dispose of any resources that can be recreated.28}
2930@end

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

原文:http://www.cnblogs.com/guchengfengyun/p/4064390.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!