💭

Flutter Build時に Package.resolved file is corrupted or malformed

2022/11/09に公開

概要

GitHub Actionsを使用して、FlutterでBuildのCIを構築しようとしたところ、

Unable to get Xcode project information:
 xcodebuild: error: Could not resolve package dependencies:
  Package.resolved file is corrupted or malformed; fix or delete the file to continue: unsupported schema version 2

が出てきて、一生詰まっていた

原因

どうやらSwift5.6でSwift Package Managerのlockファイル的存在であるPackage.resolvedのスキーマがかなり変わったらしい。
そうした時に、XCodeのバージョンが13.4.1以上でないと、スキーマバージョンがversion 2に対応できないらしい

解決策

ワークフローの場合

修正前

runs-on: macos-latest

修正後

runs-on: macos-12

latestは現在mac OS 11.6とかみたいなので、その分XCodeのバージョンも古くなる。
そのため、mac OS 12以上のランナーを選択する。

ローカルの場合は、mac OSを上げる、ないしはXCodeのバージョンを上げつつ、Package.resolvedを削除することで対応できそう。

参考

https://stackoverflow.com/questions/67185817/package-resolved-file-is-corrupted-or-malformed

Discussion