2011-08-30 80 views
6

相当新(2周)到​​Objective-C和Xcode,我试图添加我的第一个“外部”库,名为restkit,从外部服务器读取一些JSON。第三方库如何在Objective-C和Xcode中工作?

然而,看着他们的“入门”指南,从我明白你只要下载一个包中的源和链接,并建立它作为自己构建的一部分莫名其妙... (引导is here) ,尤其是第4点很有意思)

我是一个多年的Java开发人员,我试着将它与它的工作方式进行比较,以及无法更改的编译打包jar文件。 jarfiles如何与此相关?从我所看到的情况来看,您可以随意进入并根据需要更改任何第三方文件。

如果有人能帮助我理解这一点,我会很感激。

回答

14

外部码可以是:

动态库(.dlyb)可分布作为一个框架和安装在机器上。但请注意,您无法在iPhone上安装框架 - 您的应用程序已被沙箱化。您可以在所有iPhone上使用一定数量的框架。

您还可以使用静态库。在链接过程中,静态库会被编译到您的应用程序二进制文件中。

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

其他和相当常见的形式是耗时的代码。这在iPhone开发中很常见,因为设备的封闭程度如何以及您的应用程序是如何沙盒化的。它也很受欢迎,因为许多组件和库都是在github上开源的。共享代码通常有两种形式:

复制代码 - 将一些文件添加到您的应用程序,然后离开你。你必须在某些周期性的基础上更新文件。

xcode子项目 - 您可以将外部库xcode项目作为子项目添加到项目中。该子项目可以生成您的应用程序使用的静态库(目标)。在xcode4中,你也可以有一个包含多个项目的工作区。

消费代码的好处是能够进行调试。代码越复杂,子项目就越有吸引力。如果是少数自包含文件,那么只需添加文件很简单。

希望能帮到一些。

+0

伟大的答案谢谢。既然你似乎知道你的方式,你会有时间看第四步。这涉及你提到的“子项目”方法,我认为,但我使用Xcode 4.2,我不知道如何完成这一步。在我看来,在指南中没有复选框...... – Mathias

1

第三方框架可以采用源代码形式或编译框架。编译的框架可能最接近您习惯的jar文件。在这种情况下,框架可用作源代码,所以他们建议将框架项目添加到您的项目中。

我宁愿单独编译我​​的框架,只是将编译好的框架包含在我的项目中。无论哪种方式工作。

+0

非常感谢!哇,编译,所以猜我必须找出那一个:) – Mathias

1

另一种方式是称为CocoaPods的依赖关系管理器。它仍然是测试版,但它已准备好使用。有些图书馆有a few食谱,如果你没有找到你想要的,你可以为它创建一个规范。 RestKit的规范可用。

+0

自问题提出以来,它已经成熟了很多 - 尽管如此,您仍然会发现很多有用的Obj-C库。 – fatuhoku

0

你为什么要这么辛苦!选择你的项目文件,然后选择编译阶段>编译源代码>添加你的.m文件在这里你添加>建立和运行>享受