2011-08-30 64 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文件在這裏你添加>建立和運行>享受