深入理解iPhone静态库(手把手教)

深入理解iPhone静态库(手把手教),第1张

概述Xcode4中使用静态库 1. 创建一个工作区:".xcworkspace" 2. 将项目添加到工作区(新建/添加现有项目) 3. 向应用程序target添加静态库,从Workspace 4. 打开 “Build Settings” 标签,设置 “User Header Search Paths” 项的值为“$(BUILT_PRODUCTS_DIR)”,并选中“Recursive”框 5. 设置“

Xcode4中使用静态库
1. 创建一个工作区:".xcworkspace"
2. 将项目添加到工作区(新建/添加现有项目)
3. 向应用程序target添加静态库,从Workspace
4. 打开 “Build Settings” 标签,设置 “User header Search Paths” 项的值为“$(BUILT_PRODUCTS_DIR)”,并选中“Recursive”框
5. 设置“Other linker Flags”项的值为“-ObjC”
6. 打开scheme,设置build顺序,将静态库添加进来,并放在程序前面
7. 从静态库项目中拖动公共头文件到应用程序项目,这些头文件不需要被包括在target中

创建静态库
1. 将所有需要公开的头文件在“Target Membership”中将其设置为“public”
2. 打开 “Build Settings” ,设置“InstallationDirectory”的值为“$(BUILT_PRODUCTS_DIR)”;并设置“SkipInstall”的值为“Yes”
3. 设置“Public headers Folder Path”的值为 “$(TARGET_name)”

 

参考原文:http://blog.carbonfive.com/2011/04/04/using-open-source-static-libraries-in-xcode-4/

 

下边是各种使用经验:

(一)

1、以xcode的静态库文件模板创建静态库文件;

2、注意类文件的命名方式,以免和工程下的类冲突;

3、把需要作为接口的头文件声明为public,在xcode的target membership设置里面;

4、在静态库文件的引用target里面设置静态库文件的安装目录为当前工程的编译目录下,使得当前工程目标能在此目录下找到静态库文件,当前工程编译目录引用为$(BUILT_PRODUCTS_DIR);

5、设置静态库的公共头文件目录路径,使之在当前工程编译后放置于以静态库命名的文件目录下,即使得第4步的能找得到静态库文件的接口;

6、如果静态库中存在Objective-C风格的类文件,需要在静态库的build-setting中的Other linkerflags中加上-ObjC,如果存在category,还应加上-all_load或-force_load。

 

(二)

概要

AppStore中的 iphone 程序不允许使用动态链接库。  如果需要在隐藏代码的前提下提供某些功能,可以使用静态链接库。
XCode项目中添加静态库的方法 右击target,选择add -> newtarget  在d出的 NewTarget 界面中选择Cocoa touch -> Staticlibrary ,为新 library 取个名字。 将源文件添加到这个库。可以直接拖动现存源文件,也可以右击 -> add。注意选择新建的库为添加的 target 。 设置原项目,令其使用新建的库。 右击原项目的 target ,选择 getInfo 。 选择 General 选项卡 向 linked librarIEs 中添加新创建的库 (即添加 .a 文件)。 编译新建的静态库以产生 .a 文件。(右击静态库的 target ,选择build) 编译原项目,若可以调用静态库中的方法则添加成功。
怎样隐藏静态库的代码  可以直接删除静态库中的源代码,只提交链接库文件(.a),这样原项目仍然可以编译执行。
备注: Mac OS 下的静态链接库文件与linux 同样使用 .a 扩展名。 参考资料

原参考处

 

下边的是 

 

http://blog.carbonfive.com/2011/04/04/using-open-source-static-libraries-in-xcode-4

的汉化翻译 加理解

http://xiaoruanjian.iteye.com/blog/912478

总结

以上是内存溢出为你收集整理的深入理解iPhone静态库(手把手教)全部内容,希望文章能够帮你解决深入理解iPhone静态库(手把手教)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1063340.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存