博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 创建Cocoa touch Static Library 静态库(二进制库)和bundle
阅读量:4119 次
发布时间:2019-05-25

本文共 1111 字,大约阅读时间需要 3 分钟。

创建bundle

新建bundle项目,将资源文件(xib,图片,文件...)拖进去直接编译即可.

大坑:直接的iPhone项目是不能建bundle项目的,建一次X-code崩一次,开始以为X-code6怎么这么弱,后来才脑残的发现自己是在iPhone项目上见mac的工程.(貌似可以直接在项目中建mac项目,可是要改一大堆配置云云.. 还是新建一个项目的方便)

note:项目中引用bundle的xib要这样紫.(loginBundle当然是你新建bundle的名字)

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

    NSString * bundlePath = [[ NSBundle mainBundle] pathForResource: @"loginBundle" ofType :@ "bundle"];

    NSBundle *resourceBundle = [NSBundle bundleWithPath:bundlePath];

   self = [super initWithNibName:@"MXHomeViewController" bundle:resourceBundle];

   if (self) {

    }

    return self;

}

创建静态库

新建Cocoa touch Static Library项目,将需要编译的文件拖进去(资源文件除外)编译即可.注意要在真机和模拟器上都编译一次.真机上生成的.a文件只能在真机上运行,同样模拟器上生成的.a文件只能在模拟器上运行.如果想其又要在模拟器上运行又要在真机上运行,在命令行运行 (当然前提是要进入所在目录).(运行的时候根据需要选择debug还是release版本)

     lipo -create Debug-iphoneos/liblogin.a  Debug-iphonesimulator/liblogin.a -output login.a

                   指令                     真机                  文件名               模拟器                             文件名             输出     最终的文件名   

大坑:先在模拟器上编译出的.a文件是红色的,不要以为编译错了,其实已经编译完成,真机上编译就直接是编译成功黑色的

神坑:不要再把其他项目的二进制文件编译进去

天坑:注意库的引用.如果静态库中包含了Category(分类),要在工程文件中配置OtherLinker Flags为 -Objc .

very importent : 导入重新编译的静态库时要删除build 目录 ,删除模拟器上程序.因为静态库只会加载一次.

转载地址:http://ksnpi.baihongyu.com/

你可能感兴趣的文章
一文读懂领导和管理的区别
查看>>
如何培养自身领导力?关于领导力提升的书籍推荐
查看>>
领导力有哪些方面?什么是领导力?
查看>>
关于领导力的书,我只推荐《领导力必读12篇》
查看>>
管理书籍推荐:这本书所有管理者必读!
查看>>
10本经典的管理学书籍推荐,关于管理学的书都在这里了
查看>>
推荐几本与领导力相关的书,这些书可以帮助你培养领导力
查看>>
如何提升个人领导力?你可能需要这本专业书籍
查看>>
员工管理书籍推荐,做好员工管理看这些书就够了
查看>>
适合销售看的书都有哪些?销售方面的经典书籍推荐
查看>>
销售人员必看的书推荐
查看>>
做销售是一个系统的过程,这本书能让你在短时间内快速掌握精髓
查看>>
人事管理书籍推荐,做好人力资源该看什么书?
查看>>
《笨办法学Python》 第36课手记
查看>>
《笨办法学Python》 第37课手记
查看>>
《笨办法学Python》 第38课手记
查看>>
《笨办法学Python》 第39课手记
查看>>
《笨办法学Python》 第40课手记
查看>>
《笨办法学Python》 第41课手记
查看>>
《笨办法学Python》 第42课手记
查看>>