aws-mobile-react-native-starter day01
引き続きReactNativeの実装のサンプルにトライしてみようと思います。 今回はこちらに従って作業。
MobileHubセットアップ
プロジェクトを作成しようとすると権限でエラーが発生します。
Failed to create Mobile Hub Service Role. Sorry, but you do not have permission for this operation. For help, see http://docs.aws.amazon.com/mobile-hub/latest/developerguide/managed-policies.html. Details = User: arn:aws:iam::650593974448:user/kabe is not authorized to perform: mobilehub:CreateServiceRole on resource: arn:aws:iam::650593974448:role/MobileHub_Service_Role
たしかに、ログインしているユーザにアタッチしたAWSMobileHub_FullAccess
にはmobilehub:CreateServiceRole
がセットされてない。どこにあるんだよこれ。
調べてみたのだけどグループにアタッチできるポリシーの中ではこの権限が付与されているものはなさそう。
仕方がないからカスタムでAllowしようとしたら、ARNが必要で書き込みできない。MobileHubのARNの形式はarn:aws:mobilehub:region:account-id:project/projectID
だから、…だからそのProjectを作るために権限が足りないんだって言ってんじゃん(´;ω;`)
調べてみてもなぜAWSMobileHub_FullAccess
にCreateServiceRole
の権限が与えられていないのかは謎でした。何か理由があるのかな??教えて欲しいな。
止まっていても仕方がないのでプロジェクトのインポートだけ、ルートユーザでログインして実行します。
reactnative-starterというプロジェクトはもうあるから作れないよー!というエラーが出る(AWSこのパターン多いな…作業途中でエラーになって終わらなかったのが管理画面から見えないところで残ってるのどうにかなんないの???)のでreactnative-starter01とかで数分でできあがり。
無事aws-exports.jsを入手できたので、ローカルにnode.jsの開発環境を構築していこうと思います。
node.jsセットアップ
こちらに従って環境を構築しました。特に大きな問題なく。
途中nodebrew install-binary latest
するときだけ、フォルダがないよと怒られるので、自分でフォルダ掘っておけば通る。
あとシャチョさんのオススメでbashではなくzshを使っているので、実行パスは.bashrcではなく.zshrcに書くこと(ハマった)
さて、手順に戻ってアプリの実行を試していきます。
npm install で必要なパッケージのダウンロード > npm startまでは問題なくできました。が、react-nativeインストールしてねぇな???
react-nativeセットアップ
ホントQiitaがなかったら心折れてる。
指示通りwatchman,flow,React Nativeをインストールします。
$ brew install watchman $ brew install flow $ npm install -g react-native-cli
特になんの問題もなく(‘ω‘ )
$ watchman -v 4.9.0 $ flow version Flow, a static type checker for JavaScript, version 0.61.0 $ react-native -v react-native-cli: 2.0.1
aws-mobile-react-native-starter アプリの実行
指示通りnpm start
でサーバを起動して、別のターミナルからiOSシミュレータを起動してみます。
$ react-native run-ios Scanning 740 folders for symlinks in /Users/k-abe/Desktop/aws-mobile-react-native-starter-master/client/node_modules (8ms) Found Xcode project awsmobilereactnativesample.xcodeproj xcrun: error: unable to find utility "instruments", not a developer tool or in PATH Command failed: xcrun instruments -s xcrun: error: unable to find utility "instruments", not a developer tool or in PATH
うむむ、XcodeのCommand line toolsをみつけられないっぽい??
Xcode > Preference > Locations でコマンドラインツールが指定されてなかったので設定します。
起動したー!!!