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

この記事は最終更新日から2年以上経過しています。

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なのか見失ってしまったのでまた見つけた時に追記します…

Comment
comments powered by Disqus
Profile

石原 悠 / Yu Ishihara

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