一.基本知识
在实际的编程过程中,通常会把一些公用函数制成函数库,供其它程序使用,一则提搞了代码的复用;二则提搞了核心技术的保密程度。所以在实际的项目开发中,经常会使用到函数库,函数库分为静态库和动态库两种。和多数人所熟悉的动态语言和静态语言一样,这里的所谓静态和动态是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要改静态库;而动态库在程序编译时并不会被链接到目标代码中,只是在程序运行时才被载入,因为在程序运行期间还需要动态库的存在。
对iPhone平台来说,iPhone官方只支持静态库联编,因此下面就介绍下iPhone中静态库的用法。
二.iPhone静态库使用
1.创建静态库
打开XCode新建一个项目,选择Library下的 “Cocoa Touch Static Library”,在Classes文件夹上点右键选择“New File…”,然后在“Cocoa Touch Class”下选择“Objective-C class”,这样就可以创建Objective-C风格的源文件和头文件。
同样,也可以创建C或者C++风格的代码,在Classes文件夹上点右键,选择“New File…”,这次选择Mac OS X下的“C and C++”,就行。
然后在文件里编写具体的调用代码。
最后进行编译,就会产生一个以.a为结尾的文件,就是我们需要的静态库。同时我们也需要生成的.h头文件。
2.使用静态库
在需要调用静态库的工程的目录下通过右键点 Frameworks->Add->Existing Files..添加之前创建的.a静态库文件,然后在需要调用静态库的函数的.h文件里,import进来和静态库中.m对应的.h头文件,并且声明静态库里的类:@class 类名,这样就可以使用静态库里的函数了。
3.联调静态库
如果单单以copy的方式包含进.a静态库,这样只能使用静态库,如果需要修改静态库里的函数,则需重新生成静态库,并将其重新包含进来,在开发阶段会显得比较麻烦。可以采用Xcode的Cross-Project Reference(跨项目参考)的方式解决。
首先把静态库的XCode项目整个包含进我们的当前项目(注意:不要选择Copy items to destination group's folder选项)。
接着和第二步一样也是包含进.a静态库(也要注意:不要选择Copy items to destination group's folder选项)。
这样就可以从我们当前的项目里直接打开静态库的项目,直接修改(注意:修改后编译前必须选择clean,清除原有的静态库,重新生成)。
参考资料:http://www.xuanyusong.com/archives/606
分享到:
相关推荐
在iphone中制作,使用,调试静态库。
绝对物有所值,公司内部资料。教你如何在iphone中添加静态库
基于Xcode4.3的iPhone编程学习笔记 第一篇,HelloWorld;
基于Xcode4.3的iPhone编程学习笔记 第一篇 HelloWorld
iPhone开发基础教程_学习笔记.docx
iphone开发学习笔记(1)--NSLog
iOS 静态库自动打包,使用 shellcmd 脚本如何写 # 获取脚本所在目录 filepath=$(cd "$(dirname "$0")"; pwd)"/" cd $filepath cd .. # 工程target,主要配置这个target即可 targetname="SafeToolSDK" # 工程目录...
由于lame只有源文件,需要自己生成可以给iphone使用的静态库,所以弄了这个脚本可以一键生成lame静态库。 你需要做的是: 1、http://sourceforge.net/projects/lame/files/lame/3.99/ 下载lame的最新版本解压 2、...
包含大部分Axure+iPhone手机机型的元件库,手机外壳元件库
axure iphone手机元件库原型库axure iphone手机元件库原型库axure iphone手机元件库原型库
iphone学习资料打包,iphone,object c 学习资料
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,送人资源,手留余香。
Axure原型图:iOS12元件库iPhoneX高保真UI移动端RP原型图 ios12YuanJianKu_s8 字体文件 Mac字体安装.png windows字体安装.png fontawesome-webfont.ttf IOS12 Library And App Template 交互原型模板.rp iPhoneX And...
Axure部件库、包含iPhone和Android手机部件,已打包。直接导入axure中就可以了
本压缩包中包含了Iphone开发中常用到的技术总结笔记,五六十中技术方法以及季节方案,包括内存管理,方法回调,获取当前地点,自定义CELL,VIew圆角等等等,太多的奶水包,是我开发中所有的精华所在,只有你不知道的...
axure部件库---适用于iOS和iPhone场景下的各种部件要素,资源。选择添加部件库,选择部件库文件, 全部导入即可。
BO.iPhone云笔记
ios学习笔记中用到的美化按钮的背景图,iphone风格
iOS8和iPhone6部件库
Axure组件库 手绘组件库 Sketchy Axure Widgets.rplib Scoder Hand.ttf Android-Axure-Widgets Android.rplib iPhone-Axure-Widgets ipad.rplib iPhone-Bodies.rplib iPhone-Horizontal.rplib iPhone-UI.rplib Yahoo...