2013-03-20 174 views
1

我正在構建將使用自定義Web API的應用程序。我想爲應用程序單獨創建一個此API的Objective-c適配器。我正在考慮將其作爲一個靜態庫來完成。使用靜態庫和應用程序管理依賴關係

因此,例如MyAppAPI將是一個靜態庫,MyApp將與此庫鏈接。

MyAppAPI需要AFNetworking才能訪問Web API。但是MyApp由於其他原因還需要AFNetworking。

我希望能夠通過單元測試來測試MyAppAPI單機版。爲了測試它,靜態庫項目需要AFNetworking。但我不希望AFNetworking與MyAppAPI編譯,我希望這是一個外部依賴。

因此,事實上MyAppAPI和MyApp都依賴於AFNetworking,我希望能夠獨立地測試MyAppAPI。

解決這種情況的最好方法是什麼?我可能會錯過某些明顯的東西。

回答

0

看看CocoaPods。他們負責XCode項目的依賴管理,並擁有一箇中央存儲庫(包括AFNetworking)。

http://cocoapods.org你可以找到所有的信息入門。

+0

我爲此目的評估了CocoaPods,但事實證明它只對完成的依賴項有用。 當同時開發多個項目時,需要靈活性來構建具有唯一一組依賴關係的頂級父項;同時仍然能夠爲單元測試編譯子項目。我還沒有找到解決方案,但很明顯這是一個常見的用例。也許在鏈接器階段識別並刪除重複的符號是更簡單的方法。 – 2013-06-20 15:51:37