• 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 调用完毕......


  • 相关阅读:
    python ast模块使用
    编译原理:编译过程概述
    TVM 安卓环境搭建部署
    TVM: 编译流程
    TVM:Relay算子实现流程
    23第四章:【08】消息消费重试机制
    21第四章:【06】消息过滤
    20第四章:【05】批量消息
    19第四章:【04】事务消息
    17第四章:【02】顺序消息
  • 原文地址:https://www.cnblogs.com/DamonTang/p/2834386.html
Copyright © 2020-2023  润新知