🚿 FlutterのiOS開発でよく使うキャッシュを削除するコマンド

2021-03-14 #Development

Flutterでライブラリのバージョンを変えたりブランチを切り替えたりした後にiOSでうまくビルドできなくなる事がよくあるのですが、大抵はキャッシュが入っているディレクトリやファイルを削除してビルドしなおすと動き出します。

対象となるディレクトリやファイルが結構多くて、調べる度に微妙に違うのが出てきたりして面倒なのですが、今のところ調べて出てきたコマンドを試してみた中で、自分の環境では最終的に以下のコマンドでファイルとフォルダを消して、clean、build、runするとなんとかなりました。

$ flutter clean && \
  rm -Rf build && \
  rm -Rf ios/Flutter/Flutter.framework && \
  rm -Rf ios/Flutter/Flutter.podspec && \
  rm -Rf ios/Flutter/App.framework && \
  rm -Rf ios/Pods && \
  rm -Rf ios/.symlinks && \
  rm -Rf ios/build && \
  rm -Rf ios/Runner.xcworkspace && \
  rm -f ios/Podfile && \
  rm -f ios/Podfile.lock && \
  rm -f pubspec.lock && \
  flutter build ios && \
  flutter run

最後のrunが動かない時には一度Xcodeを立ち上げてArchiveする必要がある時もあります。

あと、Xcode周りの方を色々削除したい時には以下を実行しました。

$ rm -rf ~/Library/Caches/com.apple.dt.Xcode && \
  rm -rf ~/Library/Developer/Xcode/DerivedData/ && \
  xcrun --kill-cache && \
  xcrun simctl erase all

よく使いそうなのでzshにもエイリアスを登録しておいた。

alias clean-fl="flutter clean && rm -Rf build && rm -Rf ios/Flutter/Flutter.framework && rm -Rf ios/Flutter/Flutter.podspec && rm -Rf ios/Flutter/App.framework && rm -Rf ios/Pods && rm -Rf ios/.symlinks && rm -Rf ios/build && rm -Rf ios/Runner.xcworkspace && rm -f ios/Podfile && rm -f ios/Podfile.lock && rm -f pubspec.lock && flutter build ios && flutter run"
alias clean-xc="rm -rf ~/Library/Caches/com.apple.dt.Xcode && rm -rf ~/Library/Developer/Xcode/DerivedData/ && xcrun --kill-cache && xcrun simctl erase all"

参考にさせていただいたURL:

他にもStack Overflowの記事をいくつか参考にしたのですが、大量に開いたタブを閉じてしまってどれがどのURLなのか見失ってしまったのでまた見つけた時に追記します…

Profile
😛

石原 悠 / Yu Ishihara

デザインとプログラミングとヨーグルト作りが好きです。