flutter doctor
$ flutter doctor Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-arm, locale ja-JP) [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) [✓] Xcode - develop for iOS and macOS [✓] Chrome - develop for the web [✓] Android Studio (version 2020.3) [✓] Android Studio (version 2020.3) [✓] IntelliJ IDEA Ultimate Edition (version 2021.3) [✓] IntelliJ IDEA Ultimate Edition (version 2021.3) [✓] IntelliJ IDEA Ultimate Edition (version 2021.2.3) [✓] VS Code (version 1.62.3) [✓] Connected device (2 available)
発生した事象
iOSのアプリCacheディレクトリにファイルを書き込むと、低確率でファイル書き込みが静かに失敗する。
file.writeAsBytes( binary, flush: true);
Consoleログ出力にはエラーはなく、例外が発生しない。 書き込みは失敗するため、書き込んでもファイルが存在しない(File.existsがfalseとなる)し、appendモードの場合はファイル長(File.length())が想定よりも短くなる。
Issue
おそらくこれ
対応
たまに静かにランダムに失敗するので、成功が確定するまで書き込み続ける。
ログファイルのように次々appendするようなパターンでは二重書き込みが怖いけど、今回の自分のユースケースでは書き込みをリトライすることでワークアラウンドした。
その他
正しい対応の仕方があれば教えてほしい(マジで困る)