IOS开发笔记

Xcode构建自定义静态库(libname.a

小知识:Linux静态库*.a,动态库*.so,window静态库*.lib,动态库*.dll

1.  创建工程选择iOS->Framework&Library->CocoaTouchStaticLibrary。

2.  删除新建工程时自动创建的.h .m文件,导入自定义头文件及源文件。

3.  选择菜单Product->Scheme->Edit Scheme->Run->Build Configuration设置成release(切记此步骤,不然构建的是debug版的.a文件,其它工作引入该静态库时会报Undefined symbols for architecture i386错误)。

4.  选择不同设备类型分别构建真机(iOS Device)及模拟器(iPhone 6/iPad2/iPhone4s等)静态库文件(执行build后可在Products下面看到libname.a文件,黑色表示生成成功,红色未生成)。

 

Xcode项目导入第三方开发库

1.  选择项目中的工程文件,设置工程属性General->Linked Frameworks and Libraries-> + ->Add Other… ->选择第三方静态库文件(.a)。

2.  设置头文件搜索路径,设置工程属性 Build Settings->Search Paths->Head Search Paths-> + ->设置第三方库头文件目录。

 

使用lipo指令

1.  查看静态库模块的体系结构(终端->cd到.a文件所在目录 -> lipo -info 静态库.a);

2.  合并模拟器及真机通用静态库(终端-> lipo -create 模拟器静态库所在路径/静态库.a 真机静态库所在路径/静态库.a -output 通用静态库输出路径/静态库.a);

 

注意事项:

1.当静态库模块使用到C++11等一些特殊的语音特性时或该模块有引用其它外部库且外部库用到C++11等特性时,构建静态库及使用该静态库的模块都得统一设置C++编译选项,如json库就有用到C++11特性(工程属性->Build Settings->Apple LLVM 6.1 - Language - c++ -> C++ Language Dialect 及C++ Standard Library);

2.在目标工程若添加同一静态库几次,记得清除未使用到的静态库的连接路径(工程属性->Build Settings -> Search Paths ->Library Search Paths ),xcode搜索静态库.a文件的方法是从上往下查找库路径列表;

posted on 2015-08-09 15:48  蜗牛搞技术  阅读(171)  评论(0编辑  收藏  举报