2015-06-17 65 views
0

我想部署靜態庫,我一直在Xcode 6中編寫。我已經設法將庫編譯爲.a文件。現在我想在另一個項目中使用它。另外請注意,包含庫項目不是一個選項,因爲這個庫應該是二進制分發的。在Xcode 6中部署靜態庫

我還設法將.a文件導入到一個新項目中,但我不確定找到頭文件的最佳方式是什麼。我應該將它們複製到系統文件夾嗎?我應該只鏈接到框架的(下載)文件夾?我應該直接在項目中導入標題嗎?由於框架是爲了分發,我認爲理想情況下我會將它們複製到系統文件夾中。

最後,我讀過我需要構建兩個不同的版本,如果我想框架兼容iOS和模擬器。這是真的?它不能在同一個二進制文件中分發嗎?

+1

你看過這個嗎? https://github.com/jverkoey/iOS-Framework – sbarow

+0

@sbarow到目前爲止,這是一個很好的教程!我仍在審查它,現在我無法找到如何構建發佈框架,你碰巧知道嗎? –

+0

@sbarow對於延遲,我很抱歉。請張貼答覆,以便我可以接受。謝謝! –

回答

1

我爲我的公司分發這樣一個圖書館。我基本上把.a文件(用lipo構建)與頭文件放在一個文件夾中。然後,客戶端需要將.a文件添加到構建階段中的項目中,鏈接二進制文件與庫。然後,他們應該使用項目相對路徑添加到「頭部搜索路徑」的頭部文件的路徑。從我的自述:

過程的SDK添加到您的項目

1)XXX文件夾複製到app文件夾,其中包含 「.xcodeproj」的項目文件,然後添加目錄到項目, ,但不要將其添加到任何目標(取消選中該複選框)。 2)添加相應的庫(的iOS 6.0或7.0)的文件夾,通過將目標的構建階段選項卡,鏈接二進制與圖書館,點擊「+」 ,然後導航到相應的文件夾並選擇 libXXX.a

3)添加以下項目的生成設置:

  • 搜索路徑 - >庫搜索路徑: $ PROJECT_DIR/XXX/IOS //我有多個文件夾,每一個lib
  • 搜索路徑 - >用戶標題搜索路徑:$ PROJECT_DIR/xxx
  • 鏈接 - >其他鏈接標誌:-ObjC注意:如果你不能做到這一點,您的應用程序會崩潰在啓動(如果它使用類別)

我用脂添加兩個模擬器.a文件也甚至認爲這不是官方認可的。正如其他人所說的那樣,蘋果公司對此不以爲然,但對圖書館用戶來說,使用不同的.a文件並不容易 - 「官方」解決方案將爲您編寫一個自定義構建腳本。

+0

David H,感謝您的回覆!我仍在研究sbarrow,這似乎避免了必須手動導入標題。但是,謝謝你 –