AWS SDK for iOS 2.2.0 がリリースされました

2015.07.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS SDK for iOS 2.2.0

先日、AWS SDK for iOS2.2.0 にアップデートされました。どのように変わったか公式ブログを参考に見て行きたいと思います。

外部ライブラリとの依存性の解消

今回のバージョンでは、今まで依存関係があった各種ライブラリが AWSCore.framework の中に含まれるようになりました。そのため、下記のライブラリを直接的にインポートする必要が無くなりました。

  • Bolts.framework
  • FMDB.framework
  • GZIP.framework
  • Mantle.framework
  • Reachability.framework
  • TMCache.framework
  • UICKeyChainStore.framework
  • XMLDictionary.framework

以前までは CocoaPods の機能により実現していましたが、2.2.0 からは AWSCore.framework さえ入っていれば利用できるようになります。よって、ライブラリの組み合わせによっては発生していたduplicate symbols エラーが発生しなくなるというメリットがあります。

BFTask が AWSTask に

AWS SDK for iOS は 2.0.0 から API 呼び出しをすべて別スレッド(非同期)で行われるように実装されています。

非同期処理の実装は iOS アプリ開発ではデファクトスタンダードになりつつある Bolts が採用されているわけですが、2.2.0 から Bolts のタスククラスである BFTaskAWSTask に、BFExecutorAWSExecutor に置き換えられています。

2.2.0 からは、次のように書きます。

AWSS3TransferManager *transferManager = [AWSS3TransferManager defaultS3TransferManager];
AWSS3TransferManagerUploadRequest *uploadRequest = [AWSS3TransferManagerUploadRequest new];
// Configure uploadRequest
 
[[transferManager upload:uploadRequest] continueWithBlock:^id(AWSTask *task) {
    // Do something with the response
    return nil;
}];

AWSMobileAnalytics Framework の独立化

以前まで AWSMobileAnalytics のクライアントは AWSCore.framework に含まれていましたが、2.2.0 から AWSMobileAnalytics.framework として独立化しました。そのため、AWSMobileAnalytics を使うわない場合に無駄にインポートされなくなりました。

AWSMobileAnalytics も使いたい場合は、Podfile を次のようにします。

pod 'AWSCore'
pod 'AWSMobileAnalytics'

まとめ

今回はシンプル化がテーマとなったアップデートでした。より使いやすく進化した AWS SDK for iOS を活用していきましょう!

参考