IOS在Xcode 4.x以上如何 创建 和 添加 静态库

添加静态库   类似与  windows中的.dll   文件       用于将工程中的 一些公共类 集合成 静态库   ,

引入工程        

引用静态库的好处就是免了版本升级还要替换一堆文件的问题
 
 
 下面 动手做一个吧.

                        常用的代码可以通过静态库进行抽出来作为公共类方法,方便在其他地方调用,一般来说我们要准备2套静态库,一套是模拟器上使用的,一套是真机使用的,

创建静态库:

在Xcode中新建一个Project.选择如下图:

然后点next,下一步至于填写的东西随意.

 

     创建工程后默认  只要跟你工程名一样的 两个文件.h .m

下面  创建  另一个类       在

Use_DefLibrary 中调用   

 

MethodC.h

#import <Foundation/Foundation.h>

@interface MethodC : NSObject
-(void)SayWWW:(NSString *)C;
@end

.m

#import "MethodC.h"

@implementation MethodC

-(void)SayWWW:(NSString *)C
{



    NSLog(@"Method=========>>>>>>>>>:%@",C);


}

@end

 

Use_DefLibrary.h  中注意 :  你不能再这个类  头文件中  直接引用 其它的   类      

#import <Foundation/Foundation.h>

@interface Use_DefLibrary : NSObject
{
    
 
}

-(void)getNsstring;
@end

.m  这里 你可以睡意的  引用 一些 文件...

#import "Use_DefLibrary.h"
#import "MethodC.h"
@implementation Use_DefLibrary

MethodC *mc;
-(void)getNsstring
{
    
    
    
    //    NSLog(@"mc 为空.......");
    mc=[[MethodC alloc] init];

    [mc SayWWW:@"dddddddddddddddddddd"];


}




-(void)dealloc
{
    [mc release];
 

    [super dealloc];
}


@end

ok  .。。类库写好 next.。。

点击schema如下图

点击:选择Edit Schema,如下图:

如果确定版本无多大问题的时候,把Builder Configuration 中debug模式改成Release即可.

选择生成对应的平台

由于模拟器是采用i386模式进行开发的如果要在模拟器中使用静态库的话需要把iOS Device改成iphone 6.0 Simulator.然后点击run,

然后点击选择project 找到对应的项目,如下图

点 小箭头

后会跳转到指定的文件夹,然后选择build-->Products 会看到一个Debug-iphonesimulator的文件夹,这时候已经生成了对应的   .a文件   

这就是  类库了  ,别急 .。。。。还需要一个文件...  

还有一个文件夹include,里面还带了一个    项目名.h       文件,把.h文件引入项目中   

 

调用静态库:

创建任意IOS project,把刚才生成的静态库直接拖到新的项目中,结构如下:

 

main.m

#import <UIKit/UIKit.h>

#import "AppDelegate.h"
#import "Use_DefLibrary.h"
int main(int argc, char *argv[])
{
    @autoreleasepool {
        
        Use_DefLibrary*ud=[[Use_DefLibrary alloc] init];
        [ud getNsstring];
        
        [ud release];
        
        
        
        
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

 

 

 

现在知道  

Use_DefLibrary.h里 不能引用其他  类吧


运行结果:


ok 调用完毕......


 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2012-12-26 16:55  hhhker  阅读(1849)  评论(0编辑  收藏  举报