能登 要

札幌在住のiOSアプリ開発者。SwiftUI により分割されたデバイス間を縦横にやりとりできる考え方に転換しています。

iOSアプリ開発者。2009年のiPhoneアプリ開発開始時期から活動。開発言語のアップデートの中でSwiftUIおよび周辺技術に着目中。

Derived Dataを消去した際に Swift Packages のパッケージ参照に失敗する際の対処方法

パッケージ参照に失敗する際の対象方法。過去にXcode上のSwift Package Managerを使って戸惑った&解決方法のメモ。

1) 中間コードの消去

Xcode11 以降を使用してiOSアプリを使っていると中間コードを消去して再ビルドするタイミングというのがある。中間ファイルはXcode のPreferences のLocationで示されたDrived Dataフォルダは以下の、

[プロジェクト名]-[ユニークな文字列]

のフォルダを削除することで中間ファイルを消去できる。

ただしこのまま消去するとプロジェクト内にSwift Package Manager経由で取り込んでいるミドルウェアのパッケージ参照に失敗してしまう。これは中間ファイルのコード内にSwift Package Managerの参照結果が含まれているためと思われる。

2) Swift Packageのリセット

参照結果を中間ファイル削除前の状態に戻すためにはXcodeプロジェクトメニューのFileにあるSwift Packages項目にあるReset Package Cachesを選択する。

File - SwiftPackages - Reset Package Caches

Reset Package Caches を呼び出すと、ネットワーク接続がある状態ならばXcodeにより参照解決後、中間ファイル以前同様にビルド可能となる。

まとめ

Swift Package Manager がXcode11から組み込まれXcode12ではサポートしてきているミドルウェアも増えており新規に使ってみたiOSアプリ開発者も多いはず。このメモが

背景に映り込んだ壁紙は何?

クールな壁紙 Cotsworlds - 24 Hour Wallpaper