在iOS开发中如何高效使用静态库
iOS 静态库
在iOS开发中,使用动态库是受Apple限制的,故多采用以源码形式或静态库的方式来实施。
如果使用自己开发的静态库,就会有一个问题,静态库的源码发生改变,那么我们就要新编译
一个静态库将老的库替换掉。
但是这样带来了诸多不便:
1. 开发人员之间协作不畅。
2. 拿不到最新的库文件。
3. 要根据模拟器和设备分别编译不同的静态库。
。。。。。。。
下面这个链接解决了这个问题 (Xcode 4.0以前需要采用这种cross project reference)
http://www.clintharris.net/2009/iphone-app-shared-libraries/
1. 编写static library
1.1 FOUNDATION_EXPORT
2. static library的使用和发布
2.1 以下是library代码和Application代码都可以获取到的情况
Xcode 4.0引入了workspace的概念,这和其它IDE中workspace的概念类似。
可以采用创建一个workspace,将lib-project和App-project添加到workspace中
这样来使用lib-project。例如
A) Library Managment With Xcode Workspaces
http://cocoamanifest.net/articles/2011/06/library-management-with-xcode-workspaces.html
B) Xcode 4.5: Workspace, Project and Target Setup From Scratch
http://learnaholic.me/2012/11/28/xcode-4-dot-5-workspace-project-and-target-from-scratch/
C) Workspace - Better way of organizing your XCode projects
http://blog.harbinger-systems.com/2011/11/workspace-–-better-way-of-organizing-your-xcode-projects/
D) Using Static Libraries in iOS
https://developer.apple.com/library/ios/technotes/iOSStaticLibraries/Articles/creating.html
2.2 如果我们作为static library提供者, 如何发布static library?
构建一个static library, 然后将static library和header file发布给使用者.
2.3 如何查看static library支持的architecture?
参见Ref[1]
$ lipo -info your-static-library.a
Reference
---