2011-07-13 246 views
7

有沒有人在尋找可靠的,通用的iPhone項目依賴關係解決方案方面取得成功?我正在尋找將我的iPhone應用程序拆分爲可重用組件,然後將它們拖入需要它們的項目中。我想我正在尋找Maven-esque工作流程,但對於Xcode/iPhone項目。我已經嘗試了一些事情,到目前爲止,如:iPhone項目依賴管理

  1. 我創建了一個Maven插件針對自動化應用的建設,簽約iPhone應用程序,但我一直覺得我的戰鬥反對Maven使這個工作,這是非常混亂。除非沒有其他選擇,否則我寧願不使用它。

  2. 我也使用靜態庫打包代碼,使其重新使用,但這樣做的問題是,我也想包括在我的項目可重複使用的XIBs和圖像,這些不能被包含在嘗試靜態庫用於重新分配。它們非常適合代碼,但我希望有一個系統可以完成所有任務,而不是針對不同類型的依賴關係執行不同的依賴關係管理系統。

  3. 目前我已經決定使用版本控制系統來爲我做我的依賴。在這種情況下,我使用SVN外部設備在檢出項目時將依賴關係加載到工作區中。

有沒有人有什麼想法,我可以做什麼?

更新現在,我使用CocoaPods執行此任務

回答

3

的方式我已經做到了在過去如下:

  • 靜態庫共享代碼
  • 套件,圖像/數據文件/ etc(非代碼)

通過這樣做,你永遠只能擔心更新,管理您的靜態庫/包,而不是使用它們的應用項目。

創建捆綁包的關鍵在於,在將新目標添加到項目時,捆綁軟件並未在iOS下列出。相反,它們在Mac OS X中列出。不要擔心,它很好。

一旦你創建你的包和靜態庫的目標,你需要讓這些到應用程序:

  • 下添加鏈接二進制與圖書館的靜態庫(的Xcode 4)
  • 添加(Xcode 4)

最後要記住的是,當你想從新創建的包中加載資源時,如果你要加載,你需要做如下的事情一張圖片:UIImage * myImage = [UIImage imageNamed:@「YourBundle.bundle/MyImage.png」];}}

+1

這個解決方案是否仍在工作(使用最新的Xcode 4.3.3)?我似乎無法找到如何添加捆綁。 – lyxera

0

使用靜態庫,您可以將XIB/Images/Strings分發到可輕鬆導入的Bundle文件夾中。這是我發現的分配依賴短期分配的實際代碼的最簡單的方法/ Xcode項目

+0

有沒有一個很好的方法來自動創建和檢索你發現的這些? – xoebus

+0

最好的方法是修改您的現有目標並添加一個運行腳本構建階段,將所有資源複製到您選擇的文件夾中。然後,您可以將.bundle添加到文件夾名稱的末尾以將其轉換爲捆綁文件。 「Bundle」文件只是擴展名爲.bundle的普通文件夾。到目前爲止,它在靜態庫中分發圖像和其他資源的效果非常好。 –

+0

太棒了!我會離開,嘗試實施這個,然後接受這個。你有沒有方法輕鬆導入和分發這些軟件包? – xoebus