AWS SDK for iOS 2.2.0 がリリースされました
AWS SDK for iOS 2.2.0
先日、AWS SDK for iOS が 2.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 のタスククラスである BFTask が AWSTask に、BFExecutor が AWSExecutor に置き換えられています。
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 を活用していきましょう!