[Swift Packages] Xcodeのbuild locationを変更する


Swift Package Managerを利用している場合、TargetのBuild Settingsからビルドロケーション (Build Locations) を任意の場所に変更すると、Xcode 11現在ではパッケージ追加時に以下のエラーが出ることがあります。

Error occurred; cancel and retry operation.
Swift packages are not supported when using legacy build locations, but the current project has them enabled.

詳しい原因は未調査ですが、TargetのBuild Settingsを変更すると、Xcodeが勝手にレガシーなビルドロケーション設定をしていると認識してしまうために起こります。Xcodeの不具合かもしれません。

解決方法

Xcodeメニューの File → Project Settings の「Pre-User Project Settings」にある「Advanced...」を押し、Build LocationをLegacy から Custom に変更します。ProductsとIntermediatesの場所を任意の場所に変更した後は「Done」を押して閉じ、Xcodeを再起動すると、問題なくパッケージが追加できるようになります。

Voila!