[Xcode] Xcode13 でのSwiftPM 周りの変更

Xcode13 で変更された SwiftPM 周りの変更を気付いた範囲で説明します。

環境&対象

以下の環境で動作確認を行なっています。

  • macOS Monterey 12.1 beta3
  • Xcode 13.2 beta2
  • iOS 15

Xcode13 での SwiftPM 周りの変更点

以下の点が変更されています。

  • Project Explorer 上での右クリックに、"Add Packages..." が追加された
  • ローカルの SwiftPackage を D&D でプロジェクトに追加できなくなった
  • プロジェクトに追加されている SwiftPackage を個別に update できるようになった

それぞれ 説明していきます。

Project Explorer 上での右クリックに、"Add Packages..." が追加された

以前は、プロジェクトへの Swift Package の追加は、Project Explorer で プロジェクトを選択後、"Package Dependencies" タブで追加することが必要でした。

Xcode13 では、Project Explorer 上での右クリックに、"Add Packages..." が追加され、簡単に Swift Package を追加できるようになりました。

AddPackage...

選択すると、Swift Package の選択シートが表示されます。

SwiftPackageSheet

ローカルの SwiftPackage を D&D でプロジェクトに追加できなくなった

Xcode12 まではローカルの SwiftPackage プロジェクトを D&D で追加できた

Xcode12 までは、ローカルに保存してある SwiftPackage のプロジェクトを、D&D でプロジェクトに追加することができていました。

例えば、すでに GitHub 等から clone/check-out している Package を自分のプロジェクトに追加するときは、D&D で追加できたということです。

もちろん、GitHub から直接取得していないので、GitHub 上の更新は別途反映する必要があったのですが、自分が作成して公開している Package の修正を行う時には便利でした。

ローカルに持っている Swift Package のプロジェクトを D&D で追加し、修正後、GitHub 等に Push することで、更新を行うことができました。

Xcode13 以降での追加方法

Xcode13 では、D&D での追加ができなくなり、SwiftPackageManager のシートから、"Add Local..." を選択して、追加したい Package のフォルダを選択するようになりました。

AddLocalPackage

なお、追加された Local Package は、プロジェクト内の Packages という Group に追加されるようになりました。

MEMO
プロジェクトに追加された Local Package は、Packages という Group に入れられるようになりました

プロジェクトに追加されている SwiftPackage を個別に update できるようになった

Xcode13 になって、個別の Swift Package をアップデートできるようになりました。

Xcode12以前

以前は、File メニュー内の以下のメニューで更新するしかありませんでした。

UpdateSwiftPM(OLD)

Xcode13以降

Project Explorer で Swift Package を選択すると Update Package というメニューが表示されるようになりました。

Update Package

このメニューを選択することで、個別 Package のアップデートをできるようになりました。

Delete メニュー?

"Delete" というメニュー項目もあります。

選択している Package を削除してくれそうな気がしますが、Active になるタイミングがわかりません・・・・

Delete Package

ご存知の方教えてください。_o_

まとめ:Xcode13 でのSwiftPM 周りの変更

Xcode13 でのSwiftPM 周りの変更
  • プロジェクトエクスプローラーから直接追加シートを開くことができるようになった
  • Local の Package を D&D で追加できなくなった(追加シートに Add Local ボタンが追加された)
  • プロジェクトに追加された Local Package は、Packages という Group に入れられるようになった
  • Update Package というメニューで Package を個別に Update できるようになった

説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です