第三方库如何在 Objective-C 和 Xcode 中工作?

Posted

技术标签:

【中文标题】第三方库如何在 Objective-C 和 Xcode 中工作?【英文标题】:How do third-party libraries work in Objective-C and Xcode? 【发布时间】:2011-08-30 21:59:56 【问题描述】:

Objective-C 和 Xcode 非常新(2 周),我正在尝试添加我的第一个“外部”库,名为 restkit,以从外部服务器读取一些 JSON。

但是,查看他们的“入门”指南,据我了解,您只需下载包含源代码的软件包并将其链接并以某种方式将其构建为您自己构建的一部分... (指南is here),特别是第4点很有趣)

我是一名多年的 Java 开发人员,我尝试将它与它在其中的工作方式进行比较,其中包含您无法更改的已编译、打包的 jar 文件。 jarfile 与此有何关系?据我所知,您可以随意更改任何第三方文件。

如果有人能帮助我理解这一点,我将不胜感激。

【问题讨论】:

【参考方案1】:

外部代码可以是:

动态库 (.dlyb),可以作为框架分发并安装在机器上。但是请注意,您不能在 iPhone 上安装框架 - 您的应用程序是沙盒的。您可以使用一系列适用于所有 iPhone 的框架。

您还可以使用静态库。在链接期间将静态库编译到您的应用二进制文件中。

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

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

复制代码 - 将一些文件添加到您的应用中,然后就可以使用了。您必须定期更新文件。

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

使用代码的好处是能够对其进行调试。代码越复杂,使用子项目就越有吸引力。如果是几个独立的文件,那么只需添加文件就很简单了。

希望对一些人有所帮助。

【讨论】:

很好的答案,谢谢。既然您似乎知道自己的方式,您是否有时间看一下该指南,第四步。这涉及我认为您提到的“子项目”方法,但我使用的是 xcode 4.2,我不确定如何完成该步骤。在我看来,没有像指南中那样的复选框......【参考方案2】:

第三方框架可以以源代码形式出现,也可以作为编译框架出现。已编译的框架可能最接近您习惯的 jar 文件。在这种情况下,框架作为源代码提供,因此他们建议将框架项目添加到您的项目中。

我更喜欢单独编译我​​的框架,只在我的项目中包含编译好的框架。无论哪种方式都有效。

【讨论】:

非常感谢伙计!哇,正在编译,所以我想我得弄清楚那个:)【参考方案3】:

另一种方式是依赖管理器CocoaPods。它仍然是测试版,但可以使用。有一些库的a few 食谱,如果你没有找到你想要的,你可以为它创建一个规范。提供了 RestKit 的规范。

【讨论】:

自从提出问题以来,它已经成熟了很多——尽管你仍然会发现很多有用的 Obj-C 库不在它上面。【参考方案4】:

你为什么要这么努力!选择您的项目文件并选择构建阶段>编译源>在此处添加您添加的.m文件>构建并运行>享受

【讨论】:

以上是关于第三方库如何在 Objective-C 和 Xcode 中工作?的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 3 / Xcode 8 (SharkORM) 中安装第三方 Objective-C 库

Objective-C三方库: ZXEasyCoding

如何利用 Objective-C 写一个精美的 DSL ?

ID3 标记 Objective-C

iOS如何生成.a文件

Objective-C:断言 vs. 异常 vs. 错误