2015-02-10 62 views
0

我現在正在開發一個庫,我需要將AWS SDK集成到那裏。 我用我的圖書館只有兩個AWS SQS服務 -AWS iOS/Android SDK大小問題

  1. 創建隊列
  2. 發送消息(上傳一些數據)

AWS SDK(iOS和Android)的總體規模影響上我的圖書館非常龐大(兩個平臺都超過50%)。要說服合作伙伴,減少我的圖書館規模是首要的要求。

我的問題是 -

  • 有什麼已經存在,我可以直接用於創建隊列和上傳數據?
  • 對於這種用例,我可以自己實現類似AWS的輕量級版本的東西嗎?

注意:我不喜歡AWS的東西。

+0

所有AWS API均基於REST。您只需向端點提供您正在使用的服務的請求。 SDK確實爲REST服務提供了一些方便和抽象,但它們並不重要。 – datasage 2015-02-10 01:50:57

+0

你還從你的應用中做了什麼?你可以(也可能應該)在服務器端做到這一點。否則,您將在應用程序中分配*您的*鍵。 – tedder42 2015-02-10 01:51:04

+0

我們通過將它與我們的Web服務端點和編碼鏈接來保證密鑰的安全,所以安全性不是問題。我關心的是如何實現REST API。我看到了文檔,看起來有點複雜,如果有人能夠用簡單的話來解釋並解釋它,這將會非常有幫助。 – 2015-02-10 02:18:14

回答

1

有兩種方法可以使用AWS SDK for iOS:通過CocoaPods和AWSiOSSDKv2.framework。如果您使用的CocoaPods,您可以使用以下Podfile只導入必要的代碼,亞馬遜SQS:

source 'https://github.com/CocoaPods/Specs.git' 

pod 'AWSiOSSDKv2/SQS' 

如果您正在使用AWSiOSSDKv2.framework,你可以在你其它鏈接器標記刪除-ObjC標誌構建設置。 Xcode足夠聰明,可以從框架中僅引用應用程序中使用的目標文件,而對最終應用程序的二進制大小影響極小。如果您有其他需要-ObjC標誌的框架,則可以在這些框架上使用-force_load而不是-ObjC

在Android方面,我們一直致力於減少jar的大小,所以請確保您抓住最新版本的SDK。 AWS的移動SDK的爲Android 2.1.8大小(亞馬遜SQS只)是:

  • aws-android-sdk-2.1.8-core.jar:2MB
  • aws-android-sdk-2.1.8-sqs.jar:180KB

我們還推出我們Proguard的使用SDK設置建議。請參閱Proguard.html關於如何使用Proguard減少應用程序二進制大小。

請注意,請務必徹底檢查移動設備上創建隊列的權限。一般來說,我們不建議從移動設備創建隊列,因爲移動設備上的任何憑據都可能被惡意用戶提取和濫用。只有當你「信任」所有的最終用戶時(例如當你爲員工編寫企業應用程序時)纔是例外。

+0

這個尺寸對於我的需求來說太多了,將來我們還需要使用s3服務,所以我認爲這不會起作用。保持我們的圖書館很小對我們來說非常重要。 – 2015-02-10 06:32:24

+0

如何將aws rest apis用於256KB的SendMessage? – 2015-02-12 23:04:52