IOS 静态库 (创建)
来源:互联网 发布:触摸屏软件开发 delphi 编辑:程序博客网 时间:2024/05/18 02:13
http://www.xuanyusong.com/archives/606
IOS程序是由Objective-c语言构成,而是Objective-c语言中每一个类又分成 .h .m 文件。静态库可以将这些程序的类封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。总的来说IOS静态库适合去制作第三方提供的SDK,废话不多说了我们直接进正题。
首先打开Xcode4创建一个静态库工程,如下图选择Framework&Library ->Cocoa Touch Static Library (创建静态库),点击右下角按钮“next”继续完成创建。
工程创建完毕后,我们开始编写代码。我们创建一个UIView类用来显示一张图片,并且点击该视图后打开一个网址。
创建视图类的.h文件
1
#import <UIKit/UIKit.h>
2
3
@interface MyView : UIView
4
5
@end
创建视图类的.m文件
显示的图片资源为通过URL下载后谷歌的LOGO,点击该LOGO视图后程序将打开百度的主页。
01
#import "MyView.h"
02
03
@implementation MyView
04
05
- (id)initWithFrame:(CGRect)frame
06
{
07
//初始化视图位置
08
self = [super initWithFrame:frame];
09
if
(self) {
10
11
}
12
return
self;
13
}
14
15
- (
void
)drawRect:(CGRect)rect
16
{
17
//这里创建一个图片视图
18
UIImage *image=[[UIImage alloc]initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@
"http://www.google.com.hk/intl/zh-CN/images/logo_cn.png"
]]];
19
[image drawInRect:CGRectMake(0, 0,self.frame.size.width , self.frame.size.height)];
20
[image release];
21
}
22
23
-(
void
)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
24
{
25
//点击视图后打开网页
26
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@
"http://www.baidu.com"
]];
27
}
28
29
@end
到这一步静态库中的代码我们已经写完,现在我们开始制作静态库。静态库的制作方法可分为两种:第一种为在真机上使用的静态库,第二种为在模拟器中使用的静态库。这两种方法制作起来有点小区别,请大家一定看好了,别眨眼睛喔,我们开始从模拟器入手。
如图,先选择模拟器iPhone 5.0 Simulator,如果你的XCODE4不是IOS5版本那么你将没有这个选项,然后Build工程,构建工程完毕后libSDKLib.a静态库文件遍生成了出来, 选择该文件鼠标右键找到它。
找到文件以后,默认为Debug-iphoneos / libsdklib.a ,但是这个文件是不能在模拟器中使用的,并且它也不能在真机中使用。你需要选择下面Debug-iphoneosimulator / libsdklib.a这个文件,将libSDKLib.a与对应MyView.h头文件拖拽入使用它的工程当中。
接下来创建一个普通的IOS工程,先选择模拟器运行 iPhone5.0 Simulator ,然后将libSDKLib.a 与MyView.h拖拽添加至程序当中即可。
运行工程即可看到效果,本例中通过URL加载了一张谷歌的LOGO,触摸点击该视图后打开百度的首页。
调用静态库的方法如下:
01
#import "ViewController.h"
02
#import "MyView.h"
03
@implementation ViewController
04
05
- (
void
)didReceiveMemoryWarning
06
{
07
[super didReceiveMemoryWarning];
08
// Release any cached data, images, etc that aren't in use.
09
}
10
11
#pragma mark - View lifecycle
12
13
- (
void
)viewDidLoad
14
{
15
[super viewDidLoad];
16
//创建静态库视图
17
MyView *myView = [[MyView alloc] initWithFrame: CGRectMake(0, 0, 120, 100)];
18
//将静态库视图添加至窗口当中
19
[self.view addSubview:myView];
20
[myView release];
21
}
22
23
- (
void
)viewDidUnload
24
{
25
[super viewDidUnload];
26
// Release any retained subviews of the main view.
27
// e.g. self.myOutlet = nil;
28
}
29
30
@end
OK ,到这一步我们已经将静态库顺利的应用在模拟器当中,下面我们学习如何将静态库应用在真机当中。我们再次回到制作静态库的工程当中,如图打开工程后编译环境选择IOS Device,然后构建构成即可完成。
使用鼠标右键找到libSDKlib.a,这时候Debug-iphoneos / libSDKlib.a 就是可以在真机上编辑的静态库。
最后将libSDKLib.a 与MyView.h拖拽添加至程序当中,连接上真机运行工程即可在真机上看到效果了。值得注意的是模拟器和真机用的libSDKLib.a必需要严格的区分开,否则程序会报错。
最后欢迎各位盆友可以和MOMO一起讨论IOS软件开发,从今天开始继续维护博客,你懂的,哇咔咔~~如果你觉得看得不清楚,MOMO附带上本章的源码下载,希望大家可以一起学习 哈哈~。哇咔咔~ MOMO愿和 大家好好学习,大家一起进步哈~!!!
下载地址:http://vdisk.weibo.com/s/abA0u
- IOS 静态库 (创建)
- ios 静态库创建
- ios 创建静态库
- IOS创建静态库
- 创建IOS静态库
- iOS创建静态库
- iOS静态库创建
- 手动创建ios静态库
- iOS中创建静态库
- [iOS 静态库]在iOS中创建静态库
- iOS 创建使用静态库的方法
- lame的ios 静态库创建
- [转]在iOS中创建静态库
- 在iOS中创建静态库
- 在iOS中创建静态库
- 在iOS中创建静态库
- 在iOS中创建静态库
- 在iOS中创建静态库
- 生成一组数据的累积分布
- uva 152 Tree's a Crowd(检索)
- 隐藏Nginx和PHP版本号
- 整理:FPGA选型
- Android ANR
- IOS 静态库 (创建)
- ubuntu平台下ffmpeg的编译安装方法
- Qt编程—学习笔记——QSlite数据库使用总结
- 在MAC系统中编译ANDROID源码与模拟器内核GoldFish
- mahout 源码解析之聚类--聚类迭代模型
- STM32 USB设计
- 从软件的角度漫谈 太原公共自行车刷卡原理
- 上传STM32的USB上位机(VC++源码),动态库(VC++源码),STM32端原代码,驱动程序,全套源码
- 设计模式初探 行为模式 观察者模式 c语言 版本实现