背景
SPMを導入し、Xcode Cloudでアーカイブしようとしたところ下記のエラーが発生。
エラー内容
error: Could not resolve package dependencies: Package.resolved file is corrupted or malformed; fix or delete the file to continue: unknown 'PinsStorage' version '3' at '/Volumes/workspace/repository/.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved'.
実行環境
日付: 2024年4月7日
Xcodeバージョン: Xcode 15.3
macOSバージョン: macOS Sonoma 14.1.1 (23B81)
エラーの対応方法
エラーメッセージに示されているように、Package.resolvedファイルのバージョンが不明なものになっており、このエラーはバージョン3のPinsStorageが不明ということで発生しているようです。
Package.resolvedファイルはSwift Package Managerによって生成される依存関係の記述ファイルです。このファイルが壊れたりバージョンが不明なものになったりすると、ビルドエラーが発生します。
対応方法としては、Package.resolvedファイルのPinsバージョンを確認し、適切なバージョンに変更することが必要です。具体的な手順は以下の通りです。
①Package.resolved内のPinsバージョンを確認します。
②バージョンが3になっている場合、バージョン2に変更。
③変更後、Xcode Cloudでビルドを再実行します。
同じエラー内容の場合はこれで解決するはずです!
まだ開発初心者なので、他にも違うアプローチがあれば教えてください
参考記事
追記 (2024/4/10)
Xcode CloudでのXcode Version : 5.3
Package.resolved Pins Version: 3
上記のように最新のバージョンに合わせてテストしてみました。
大量のエラーが発生します...
こちらの内容については、アッキーさんという方が記事を書いていただいているので、
詳しい説明は割愛しますが、バージョンを最新にするとエラーが起こるというXcode Cloudのバグのようです。