原文地址:http://www.iphone-geek.cn/%E7%BC%96%E7%A8%8B/iphone%E9%A1%B9%E7%9B%AE%E4%BD%BF%E7%94%A8%E9%9D%99%E6%80%81%E5%BA%93%E7%9A%84%E6%9C%80%E4%BD%B3%E6%96%B9%E6%B3%95
由于Apple禁止在iPhone中使用外部框架或动态链接库,所以要重用代码(第三方库或自己的代码)只能选择如下方法:
- 直接将代码加入项目。这种方法有点笨。例如,你的一段代码被五个项目共享,如果你发现一个小bug,那么你需要更改五个地方。够麻烦吧?
- 使用静态库。这是我经常使用的方法。但Xcode并未为iPhone提供静态库的模板。有两种解决方法:
- 如果你的项目主要是使用Objective-C(C/C++也可使用,只要做些简单修改),那么你可使用现成的Xcode 模板 。
- 通过Mac OS X栏下的Static Library中的BSD Static Library建立一个静态库。但要用于iPhone项目,还需做些修改(需要将项目的Base SDK改为iPhone)。
但怎样在项目中链接静态库呢?如果你熟悉Xcode,那么你可跳过此段。很简单:
- 指定静态库的头文件路径Head Search Paths。
- 添加静态库到Xcode项目中。
就这么简单。但是且慢,万事大吉了吗?如果你要修改你的静态库呢?你需要从Find中找到你的静态库项目,打开它修改。有点麻烦,不能像 Visual Studio一样将相关项目包括在应用项目中吗?答案是:可以,虽然还是没有Visual Studio中的工作空间好用。但你可以从Xcode中直接打开相关的静态库。方法是使用Xcode的Cross-Project Reference(跨项目参考)。
- 将静态库的Xcode项目加入到当前项目。
- 右击Targets下本项目,添加到静态库项目的关联。
- 在项目下,扩展静态库项目,拖动xxxx.a到Targets下的Link Binary With Libraries。
这样你就可以从当前项目下,双击静态库的项目来打开和修改静态库的代码了。
相关推荐
在iphone中制作,使用,调试静态库。
绝对物有所值,公司内部资料。教你如何在iphone中添加静态库
由于lame只有源文件,需要自己生成可以给iphone使用的静态库,所以弄了这个脚本可以一键生成lame静态库。 你需要做的是: 1、http://sourceforge.net/projects/lame/files/lame/3.99/ 下载lame的最新版本解压 2、...
iOS 静态库自动打包,使用 shellcmd 脚本如何写 # 获取脚本所在目录 filepath=$(cd "$(dirname "$0")"; pwd)"/" cd $filepath cd .. # 工程target,主要配置这个target即可 targetname="SafeToolSDK" # 工程目录...
axure iphone手机元件库原型库axure iphone手机元件库原型库axure iphone手机元件库原型库
包含大部分Axure+iPhone手机机型的元件库,手机外壳元件库
iphone4/iphone4s无信号解决方法
使用Axure做iOS的原型,这个库可以方便的创建iPhone上使用的元件。
iphone4中文使用手册
Axure组件库包含 Andriod and Iphone 最全组件库
一个简单的iPhone项目及代码 一个简单的iPhone项目及代码 一个简单的iPhone项目及代码
一本源自iphone官方使用说明的翻译稿,详细介绍iphone使用方法
iphone notification 使用实例,简要的阐明了notification使用的方法,需要的可以下一下
UITableView是iPhone中比较常用的,用的比较多的控件, 本例中说明iPhone UITableView的使用方法实例。 该实列中是手动增加UITableViewDataSource和UITableViewDelegate协议来实现的。
iPhone各种手机型号的Axure机身元件库,机型包含了:iPhone 4S、iPhone 5、iPhone 5S、iPhone 6、iPhone 6 Plus、iPad 2、iPad Aire、iPad Aire 2、iPad Mini、iPad Mini 3,送人资源,手留余香。
NSDate,iphone显示时间,日期的方法集合
iOS8和iPhone6部件库
该手册主要介绍iPhone手机的使用,如果想了解iPhone手机也是一个很好的参考资料
iPhone 高级项目开发2009最新教程,适合开发iPhone 手机项目的开发者阅读。