19
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FlutterでAWSを使いたい!

Posted at

はじめに

FlutterでAmazon Web Serviceを使いたかったのですが、

スクリーンショット 2018-03-24 9.46.20.png

現時点でDart用のSDKは用意されていません。
そこで何とか使う方法を探ってみてうまくいったので、この記事ではその導入手順について解説します。
dart:jsを使ってAWSのfor JS SDKを叩くやり口もあるかもしれませんが、ここで紹介するのは各プラットフォーム毎にパッケージを導入してそれぞれのネイティブコードを書く戦術です。

環境

  • macOS High Sierra 10.13.3
  • Xcode 9.2
  • Android Studio 3.0.1

手順

公式サイトを参考にしつつ、プラットフォームと連携したプロジェクトを作っていきます。

プロジェクトの作成

デフォルトではAndroidはJAVA、iOSはobjective-Cのコードが生成されます。もしKotlinとSwiftに変えたい場合には以下のようにします。

$ flutter create -I swift -a kotlin {project_name}

iOSプラットフォームサイドにAWS SDKを導入

今回はCarthageを使っていきます。
AWS公式Github

Carthageのセットアップ

Carthageをインストールします。

$ brew install carthage

{Flutterプロジェクトディレクトリ}/ios/ にCartfileを作成します。

$ vi Cartfile

Cartfileの中身は以下のようにします。

Cartfile
 github "aws/aws-sdk-ios"

ライブラリをインストールするために、以下のコマンドを走らせます。

$ carthage update

Xcodeでの設定

  1. {Flutterプロジェクトディレクトリ}/ios/Runner.xcworkspaceをXcodeで開きます。
  2. Target > General > Embedded Binariesにある**+ボタン**をクリックします。
  3. 出てきたウィンドウで**Add Other...**をクリック。
  4. {Flutterプロジェクトディレクトリ}/ios/Carthage/Build/iOS/にframeworkファイルがあるので、使いたいものを選択します。面倒なので*.frameworkを全て選択しました。
  5. Destination: Copy items if neededはチェックを入れずにFinishをクリック。
スクリーンショット 2018-03-24 11.24.51.png 6. **Target** > **Build Phrases** > **Run Script**に下の1行を追記します。
/usr/local/bin/carthage copy-frameworks

このステップを飛ばしてもアプリは動くには動きます。
ここまででiOSでの導入は完了となります。

AndroidプラットフォームサイドにAWS SDKを導入

作業としてはiOSより楽です。

セットアップ

  • AWS Android SDKをダウンロードします
  • ダウンロードしたフォルダの中から必要なライブラリとなるjarファイルを選び、Flutterプロジェクトの app/libs 下にコピー。
  • app/build.gradle ファイルの dependencies 欄に 前手順で移動したファイルの分だけ compile files 行を追加します。
スクリーンショット 2018-03-31 16.40.57.png - Android Studioで作業していれば `Sync now` のボタンが出てくるのでクリック。

ここまででAndroidでの導入は完了です。

19
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?