FlutterやらないといけなくなったiOSニキ無事死亡

# Flutter？ きいてないよ
プロジェクトがFlutterで作られているので、やらないといけない。
前任者は見当たらない。
ビルドスムースに通らない。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/e107631d-f2f6-5eaa-0c8f-bd4d550dbfd4.jpeg width=400>

# やるしかない

### 手順
ChatGPTにきく。以上。

# ChatGPTに教えてもらった手順

### FlutterSDKのインストール

以下のリンクからFlutterSDKをダウンロードする。

https://docs.flutter.dev/get-started/install/macos/mobile-ios

解凍してパスを通す。

```shell
unzip ~/Downloads/flutter_macos_arm64_3.24.3-stable.zip \
       -d ~/development/
```

```shell
export PATH=$HOME/development/flutter/bin:$PATH
```

### プロジェクトの設定をする
FlutterのプロジェクトをGitHubからクローンしてくる。
プロジェクトのディレクトリに入る。

>（もしくは自分で作る場合は以下で立ち上げるらしい。）
>```shell
>flutter create my_app
>```

必要なFlutterパッケージをダウンロード

```shell
flutter pub get 
```

エラー出る。
>Note: meta is pinned to version 1.15.0 by flutter from the flutter SDK.
See https://dart.dev/go/sdk-version-pinning for details.
Because your_app depends on flutter from sdk which depends on meta 1.15.0, meta
  1.15.0 is required.

pub_spec.yamlのmetaを1.15に書き換える。

```yaml
  meta: 1.15.0
```

もう一回

```shell
flutter pub get 
```

これで必要なパッケージがダウンロードされる。

次はiOSのパッケージをインストールする。
iosディレクトリとpodfileは勝手に作られているので、pod installする。

```shell
cd ios
pod install
cd ..
```
はい、エラー
>[!] CocoaPods could not find compatible versions for pod "Sentry/HybridSDK":
  In snapshot (Podfile.lock):
    Sentry/HybridSDK (= 8.19.0)
>
>  In Podfile:
    sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`) was resolved to 0.0.1, which depends on
      Sentry/HybridSDK (= 8.21.0)
>
>
>You have either:
> * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
> * changed the constraints of dependency `Sentry/HybridSDK` inside your development pod `sentry_flutter`.
>   You should run `pod update Sentry/HybridSDK` to apply changes you've made.

Sentry/HybridSDKとやらをアップデートします。

```shell
pod update Sentry/HybridSDK
```

### ビルド

```shell
flutter run
```

エラー出ます。

>Failed to build iOS app
Could not build the precompiled application for the device.
Swift Compiler Error (Xcode): Type 'UIApplication' does not conform to protocol
'Launcher'
/Users/majimadaisuke/.pub-cache/hosted/pub.dev/url_launcher_ios-6.2.5/ios/Classe
s/Launcher.swift:21:0

パッケージをアップグレードします。

```shell
flutter pub upgrade 
pod install --repo-update
```

再度run

```shell
flutter run
```

はい、エラー

>Failed to build iOS app
Could not build the precompiled application for the device.
Semantic Issue (Xcode): No type named 'terminate_handler' in namespace 'std'
/Users/majimadaisuke/Downloads/workspace/hub_app/ios/Pods/Sentry/Sources/SentryC
rash/Recording/Monitors/SentryCrashMonitor_CPPException.cpp:59:12
Semantic Issue (Xcode): No member named 'set_terminate' in namespace 'std'
/Users/majimadaisuke/Downloads/workspace/my_app/ios/Pods/Sentry/Sources/SentryC
rash/Recording/Monitors/SentryCrashMonitor_CPPException.cpp:205:46
>Semantic Issue (Xcode): No type named 'set_terminate' in namespace 'std'
/Users/majimadaisuke/Downloads/workspace/my_app/ios/Pods/Sentry/Sources/SentryC
rash/Recording/Monitors/SentryCrashMonitor_CPPException.cpp:207:17

sentryのバージョンをのバージョンを上げます。
pubspec.yamlのバージョンを書き換えます。

```yaml:pubspec.yaml
  sentry_flutter: ^8.9.0
```

```shell
flutter pub get
```

もう一回ビルド

```shell
flutter run
```

エラー

>Failed to build iOS app
Could not build the precompiled application for the device.
Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside
framework module 'firebase_database.FLTFirebaseDatabaseObserveStreamHandler':
'/Users/majimadaisuke/Downloads/workspace/my_app/ios/Pods/Headers/Public/Fireba
se/Firebase.h'
/Users/majimadaisuke/.pub-cache/hosted/pub.dev/firebase_database-10.2.4/ios/Clas
ses/FLTFirebaseDatabaseObserveStreamHandler.h:3:8
Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside
framework module 'firebase_database.FLTFirebaseDatabasePlugin':
'/Users/majimadaisuke/Downloads/workspace/my_app/ios/Pods/Headers/Public/Fireba
se/Firebase.h'
/Users/majimadaisuke/.pub-cache/hosted/pub.dev/firebase_database-10.2.4/ios/Clas
ses/FLTFirebaseDatabasePlugin.h:3:8
Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside
framework module 'firebase_database.FLTFirebaseDatabaseUtils':
'/Users/majimadaisuke/Downloads/workspace/my_app/ios/Pods/Headers/Public/Fireba
se/Firebase.h'
/Users/majimadaisuke/.pub-cache/hosted/pub.dev/firebase_database-10.2.4/ios/Clas
ses/FLTFirebaseDatabaseUtils.h:3:8

firebase_databaseのヘッダーファイルが認識されないエラーっぽい。

Xcodeを開く→TARGETS→Runner→**BuildSettings**→**Allow Non-modular Includes In Framework Modules**を検索→**Yes**に。

えいや

```shell
flutter run
```

やっとビルドできた。

アタマがフラッター😵‍💫

んで今からflutter/dartの書き方をChatGPT兄貴にききます。


ハッピー・コンピューティング🎵


🐣
****
フリーランスエンジニアです。
AIについて色々記事を書いていますのでよかったらプロフィールを見てみてください。

もし以下のようなご要望をお持ちでしたらお気軽にご相談ください。
AIサービスを開発したい、ビジネスにAIを組み込んで効率化したい、AIを使ったスマホアプリを開発したい、
ARを使ったアプリケーションを作りたい、スマホアプリを作りたいけどどこに相談したらいいかわからない…

いずれも中間コストを省いたリーズナブルな価格でお請けできます。

お仕事のご相談はこちらまで
rockyshikoku@gmail.com

機械学習やAR技術を使ったアプリケーションを作っています。
機械学習／AR関連の情報を発信しています。

[X](https://twitter.com/JackdeS11)
[Medium](https://medium.com/@rockyshikoku)
[GitHub](https://github.com/john-rocky)