Xcode5创建自己的静态库详解_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Xcode5创建自己的静态库详解

Xcode5创建自己的静态库详解

 2014/6/22 22:46:12  助金  程序员俱乐部  我要评论(0)
  • 摘要:首先声明:本人屌丝一枚,如有不对不妥之处,请大牛指正!1.静态库工程的建立:XcodeNew一个新的project,选择IOS下面的Framework&Library,下面有一个CocoaTouchStaticLibrary。直接next去建立一个MaxLib工程2.工程建立添加简单的两个方法"-(void)max:(int)a:(int)b;"和"+(void)print;"做示例;在*.m文件中的实现这两个方法。这样编译出来的libMaxLib
  • 标签:详解 创建 自己

首先声明: 本人屌丝一枚,如有不对不妥之处,请大牛指正!

1.静态库工程的建立:

Xcode New一个新的project,选择IOS下面的Framework&Library,下面有一个Cocoa Touch Static Library。直接next去建立一个MaxLib工程

 

2.工程建立

添加简单的两个方法"- (void)max:(int)a :(int )b;"和"+ (void)print;"做示例 ;在*.m文件中的实现这两个方法 。这样编译出来的libMaxLib.a 就可以被其他的IOS小伙伴进行调用了。

 

方法的简单实现:

#import "MaxLib.h" 

 

@implementation MaxLib

 

- (void)max:(int)a :(int)b

 

{

 

    a > b ?(NSLog(@"Max is %d",a)) :(NSLog(@"Max is %d",b));

 

}

 

 + (void)print

 

{

 

    NSLog(@"Hello");

 

}

 

@end

 

 

3.注意要编译两次

一次是选择真机编译();一次模拟器编译;注意设置版本如下所示;编译之后libMaxLib.a会变成黑色;

 

4.查看.a文件

libMaxLib.a 上右键show in finder 可以看到该文件;返回上级目录可以看到libMaxLib.a文件

5,将真机和模拟器用的两个.a 合并成为一个通用的.a文件 

  在终端输入命令 : lipo -create /..... *.a /...../*.a -output /Users/..../*.a ;注意自己文件所在的路径

( 注意 可以使用命令 :lipo -info /..... *a 查看.a 所支持的架构 e.g. :

hezhujindeMacBook-Pro:~ hezhujin$ lipo -info /Users/hezhujin/Desktop/libMaxLib.a 

Architectures in the fat file: /Users/hezhujin/Desktop/libMaxLib.a are: i386 armv7 armv7s arm64 )

 

6.最后我们来就可以简单使用自己创建的静态库了

新建工程,导入我们静态库工程的MaxLib.h 文件,然后在这个工程的Build Phases的Link Binary With Library里添加合并的 libMaxLib.a 文件;

 

简单代码示例 

#import "HZJViewController.h"

#import "MaxLib.h"

@interface HZJViewController ()

 

@end

 

@implementation HZJViewController

 

- (void)viewDidLoad

{

    [super viewDidLoad];

    int a = 'A' ;

    int b = 100 ;

    [MaxLib print];

    MaxLib * maxlib = [[MaxLib alloc]init];

    [maxlib  max:a :b ];

    

class="Apple-tab-span"> // Do any additional setup after loading the view, typically from a nib.

}

 运行结果:

2014-06-22 21:26:37.136 TestView[2572:60b] Hello

2014-06-22 21:26:37.137 TestView[2572:60b] Max is 100

 

 

补充:要支持arm64 ,选择64位模拟器编译得到.a 在和之前的合并的.a 合并成新的.a 这样在64 位模拟器就可以运行了!!

 

上一篇: 关于偷点子这回事 下一篇: 没有下一篇了!
发表评论
用户名: 匿名