flutterの環境構築

##　flutterのインストール
flutterをインストールする任意のディレクトリに移動する。
今回はApplicationsの配下に作成。

```
cd Applications
```
[公式ページ](https://flutter.dev/docs/get-started/install/macos)を参考に安定バージョンのインストール。

```
$ git clone https://github.com/flutter/flutter.git -b stable --depth 1
```
## PATHを通す
パスを通して、flutterのコマンドを使えるようにする

```
$ export PATH=“$PATH:~/Applications/flutter/bin”
```
以下でパスの保存をする

```
$ source ~/.zshrc
```

## flutter doctor
以下のコマンドでflutterの状態を確認する。

```
$ flutter doctor
```

ここでflutterコマンドが見つからないというエラーが返ってきた。。

以下でパスの確認

```
$ echo $PATH

/Users/***/Applications/flutter/bin　#表示されたパス
```
もう一度flutterコマンドの実行

```
$ /Users/***/Applications/flutter/bin/flutter doctor
```
今度は走った！
以下のように表示されるはず。

![スクリーンショット 2020-07-28 17.22.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/417196/c8f0b56c-6953-3143-5f65-b8c522b7715d.png)

## android studioのインストールとflutter doctorのエラー解消

![スクリーンショット 2021-11-03 21.07.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/417196/ca5b1cd8-0c38-59bb-ba86-c547916ea6f5.png)

こちらのエラーを解消していきます。
まずは、android toolchain を通す。
以下の場所に androidsdkmanager があるので、以下のコマンドを通す。

①

```
% cd Library/Android/sdk/tools/bin 
% ./sdkmanager --install "cmdline-tools;latest"　
```
参考[https://zenn.dev/ouni/scraps/920471797a48cd]

![スクリーンショット 2021-11-03 21.10.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/417196/e93280ff-1fcf-1c34-8db6-482bbf1d92f5.png)

②
java jdkがないと言われるので、インストールする。
jdkが新しいとflutterとの互換性の問題がある？らしいので、
Java8の「Java SE Development Kit 8u311」を私はダウンロードしました。
参考[https://maysatsuki.com/mac/jdk/90]

インストールが完了すればもう一度
`./sdkmanager --install "cmdline-tools;latest"　`を実行する
そうするといくつかの質問が出てくるが全て　y/nの質問にyで答える

もう一度 `flutter doctor`
![スクリーンショット 2021-11-03 21.24.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/417196/daae6c40-3cf2-036c-7074-30a1b26e826a.png)

③

```
%flutter doctor --android-licenses
```
再び質問にy

④
xcodeでcocoapodsの期限が切れていたのでアップデート

![スクリーンショット 2021-11-03 21.21.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/417196/b6ea05ef-28b8-ad92-38e1-be5f4ebadcf4.png)


``` 
% sudo gem install cocoapods
```


## xcodeの立ち上げ
わたしは既にxcodeをインストールしていたので、xcodeのシュミレーターだけ立ち上げます。
xcodeのシュミレータを立ち上げて`flutter doctor`を実行するとxcodeの行にチェックが入ります。(今回のプロジェクトでは、まだandroidをサポートしていないので、androidのところは赤くなっています)
<img width="998" alt="スクリーンショット 2020-07-28 17.20.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/417196/cb3c6a50-b709-46c8-ddd9-55f980d0cd82.png">

## app用プロジェクトのディレクトリに移動して`flutter run`
app用のプロジェクトのディレクトリまで移動します。

```
$ /Users/***/Application/flutter/bin/flutter run
```

flutter_blueのエラーが出たら、`flutter_blue.podspec`を編集する
私の場合/Users/zero/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.6.2/ios/flutter_blue.podspec 
上記にありました。vimで該当箇所を編集しました。
参考：https://qiita.com/hanapage/items/8b2a21437b03cbc41653

これでターゲットまで設定できていたらビルドまでしてくれます。
私の場合、xcodeのsigining&capabilitiesのところを設定する必要がありました。

## xcodeでsigningの設定
xocodeを開く、File→open→プロジェクトのRunner.xcworkspaceを開く
sigining&capabilitiesでTeamを有効なアカウントに設定する
<img width="1137" alt="スクリーンショット 2020-07-28 17.48.17.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/417196/4f1b170f-7ff2-cc01-16fa-5a4d7be7c794.png">

これでもう一度flutter run を実行するとシュミレーターでアプリの表示が確認できました。

## 追記
- Xcode10で「Failed to register bundle identifier」エラーへの対応
![スクリーンショット 2020-08-25 14.52.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/417196/db08dbbb-f3c2-d963-e292-2dbc3a248690.png)

- XCodeビルド時のキーチェーンアクセスについて
![スクリーンショット 2020-08-25 14.57.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/417196/b5417307-495e-aa50-6643-d9f1cc99746a.png)

このダイアログが出た場合、macへの__ログインパスワード__を入力し、常に許可 をクリックする必要がある(なぜか許可をクリックしてもダメ(再度同じダイアログが出てしまう