2017-04-19 84 views
0

我必須爲第三方開發圖書館。這個庫必須是安全的,這樣只有擁有憑據的團體才能使用它。iOS鎖Cocoapod /框架

我正朝着一個方向發展,我將提供第三方應用必須輸入的API密鑰才能讓圖書館工作。

有沒有可能會對Cocoapod進行某種鎖定?或者,框架是這種問題的更好的解決方案?

有沒有人有任何其他的解決方案/建議?

回答

1

如果你詳細闡述了你想要達到的目標以及這個庫執行什麼類型的任務,可能會給出一些例子。如果我正確地理解了你,你需要防止那些沒有爲服務支付費用的人使用圖書館等。

如果圖書館是一些web服務的客戶端,關鍵的方法將是確定的。在這種情況下,無論如何您都應該擁有API密鑰來保護API本身,因此客戶端庫只會將此密鑰轉發給Web服務。這種方法被廣泛用於許多客戶端庫中。

如果圖書館只在本地工作(例如,它執行一些科學計算/計算機視覺等),那麼你可以將已編譯的圖書館和許可證發給那些已經支付的人。您當然可以使用鑰匙保護鑰匙,但鑰匙不會太有用,因爲鑰匙可能會在本地進行驗證,因此它可能很容易被盜用或被反向設計。所以唯一的好辦法是將圖書館分發給購買/請求審判的人,並強制許可證限制圖書館的使用。


編輯

如果「Cocoapod」你的意思是「發佈源代碼」和「框架」你的意思是「分發爲二進制」,那麼它取決於你在做什麼圖書館。如果它只是連接到端點和編組數據(例如解析),則可以分發源版本,因爲沒有「專有技術」。另一方面,如果除了聯繫API之外還有與業務相關的和特定的事情,請使用封閉源代碼分發(二進制)。

源分佈有一個好處,即如果出現新的目標體系結構,則不必重新編譯它。通過CocoaPods分發也更容易,而且你的圖書館用戶會更喜歡它(出於各種原因)。

+0

是的庫將連接到後端API。它將用於我的後端和第三方應用程序之間的通信。我應該爲此創建Cocoapod還是Framework? – Matic1911

+0

@ Matic1911我已編輯我的帖子回答你的問題:) – ivanmoskalev

+1

謝謝你的幫助! – Matic1911