ios开发 静态库制作

摘要:
IOS程序由Objective-c语言组成,Objective-c语言中的每个类都被划分为一个。h、 m文件。静态库可以将这些程序的类封装到.a文件中。第三方应用程序只需要获得。h文件可以封装在静态库中。通常,IOS静态库适用于制作第三方提供的SDK。让我们言归正传,废话不多说。

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

制作静态库

ios开发 静态库制作第1张

ios开发 静态库制作第2张

ios开发 静态库制作第3张

代码如下

 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编译,编译的时候选择两种环境编译

ios开发 静态库制作第4张

合并.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.
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)didReceiveMemoryWarning
25 {
26     [super didReceiveMemoryWarning];
27     // Dispose of any resources that can be recreated.
28 }
29 
30 @end

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

免责声明:文章转载自《ios开发 静态库制作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Docker开发环境预览drf之过滤与排序下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SVProgressHUD

原文:http://cht005288201307234627.iteye.com/blog/1927961 SVProgressHUD和MBProgressHUD效果差不多,不过不需要使用协议,同时也不需要声明实例。直接通过类方法进行调用即可: [SVProgressHUD method]; 可以使用一下方法显示状态: + (void)show; + (...

iOS开发拓展篇—蓝牙之CoreBlueTooth(BLE)

CoreBlueTooth 简介: 可用于第三方蓝牙设备交互,设备必须支持蓝牙4.0 iPhone的设备必须是4S或者更新 iPad设备必须是iPad mini或者更新 iOS的系统必须是iOS 6或者更新 蓝牙4.0以低功耗著称,所以一般被称为BLE(bluetooth low energy) 使用模拟器调试 Xcode 4.6 iOS 6.1...

iOS 当请求到的数据是double类型,会失去精准度,并且去掉小数点后的0

首先请求到的数据都会变成字符串,先将字符串转化为double类型 double fdouble = [str doubleValue]; 然后再设置小数点后的位数 [NSString stringWithFormat:@"%.1f", fdouble];  重点:  提供一个NSSing的扩展,传入需要保留的小数位,返回字符串。并且去掉末尾的0. #imp...

iOS开发UI篇—Button基础

iOS开发UI篇—Button基础 一、简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二、按钮的三种状态 normal(普通状态) 默认情况(Default) 对应的枚举常量:UIControlStateNormal highlighted(高亮状态) 按钮被...

OC基础 文件管理

OC基础  文件管理 1.文件管理类NSFileManager对象的创建:   NSFileManager *fm = [NSFileManager defaultManager]; 2.文件操作: (1)遍历查看目录下的文件:   a.遍历查看目录下的文件:contentsOfDirectorAtPath:(NSString *)path error:(...

iOS 开发之照片框架详解(3)

http://kayosite.com/ios-development-and-detail-of-photo-framework-part-three.html 三. 常用方法的封装 虽然 PhotoKit 的功能强大很多,但基于兼容 iOS 8.0 以下版本的考虑,暂时可能仍无法抛弃 ALAssetLibrary,这时候一个比较好的方案是基于 ALAs...