转自:http://my.oschina.net/edwardlau/blog/95924
常用的代码可以通过静态库进行抽出来作为公共类方法,方便在其他地方调用,一般来说我们要准备2套静态库,一套是模拟器上使用的,一套是真机使用的,
创建静态库:
在Xcode中新建一个Project.选择如下图:
![](http://static.oschina.net/uploads/space/2012/1214/171956_MYj8_88379.png)
然后点next,下一步至于填写的东西随意.
创建完成后结构如下图:
![](http://static.oschina.net/uploads/space/2012/1214/172400_hTYw_88379.png)
未生成的静态库在Products下为红色,
然后随便在.h文件中写一个简单的方法sayHello;
代码如下:
1 | #import <Foundation/Foundation.h> |
3 | @interface TestStaticeLibrary : NSObject |
.m文件内容:
1 | #import "TestStaticeLibrary.h" |
3 | @implementation TestStaticeLibrary |
6 | NSLog(@ "Hello OSChina" ); |
完成后点击schema如下图
![](http://static.oschina.net/uploads/space/2012/1214/175743_AmRP_88379.png)
点击:
选择Edit Schema,如下图:
![](http://static.oschina.net/uploads/space/2012/1214/175812_KbUN_88379.png)
如果确定版本无多大问题的时候,把Builder Configuration 中debug模式改成Release即可.
选择
生成对应的平台
由于模拟器是采用i386模式进行开发的如果要在模拟器中使用静态库的话需要把iOS Device改成iphone 6.0 Simulator.然后点击run,
然后点击
选择project 找到对应的项目,如下图
![](http://static.oschina.net/uploads/space/2012/1214/175935_UPH1_88379.png)
点击
小箭头后会跳转到指定的文件夹,然后选择build-->Products 会看到一个Debug-iphonesimulator的文件夹,这时候已经生成了对应的文件
![](http://static.oschina.net/uploads/space/2012/1214/180047_DIua_88379.png)
调用静态库:
创建任意IOS project,把刚才生成的静态库直接拖到新的项目中,结构如下:
![](http://static.oschina.net/uploads/space/2012/1214/180124_96al_88379.png)
如果只是单单加入静态库是不够的,之前生成的还有一个文件夹include,里面还带了一个.h文件,把.h文件引入项目中,最终目录结构如下:
![](http://static.oschina.net/uploads/space/2012/1214/180142_ETF0_88379.png)
如果你不是直接拖入项目中的话可以,鼠标右键在项目中,选择ADD Files to "XXXX"
在ViewController 敲入如下代码:
01 | #import "ViewController.h" |
03 | #import "TestStaticeLibrary.h" |
05 | @interface ViewController () |
09 | @implementation ViewController |
15 | TestStaticeLibrary *t = [[TestStaticeLibrary alloc] init]; |
21 | - ( void )didReceiveMemoryWarning |
23 | [super didReceiveMemoryWarning]; |
然后运行项目 在控制台看到以下内容
![](http://static.oschina.net/uploads/space/2012/1214/180202_IOGP_88379.png)
这样已经完成了一个ios的静态库调用.
PS:引入项目后记得要检查一下该静态库是否存在Summary 下面:
![](http://static.oschina.net/uploads/space/2012/1214/180234_QH5X_88379.png)
如果发现不在的话,按+号把静态库添加进来