XcodeのGroupとFolder
はじめに
Xcode16で新しくプロジェクトを作成したところ、デフォルトでFolder
が使用されるようになっていることに気づきました。これまでXcode15まではデフォルトでGroup
が使用されていたため、この変更について少し調べてみることにしました。
GroupとFolder
見た目の違いとして、フォルダアイコンの色がGroupは灰色、Folderは水色で表示されます。しかし、より重要なのは機能的な違いです。
Group
Folder
Groupには、Xcode内で自由に仮想的なフォルダ構成を作れるというメリットがあります。しかし一方で、ファイルの追加や削除を行うたびにxcodeprojファイルに差分が生じるため、チーム開発時にコンフリクトが発生しやすいという大きなデメリットも抱えています。
Xcode16からデフォルトの設定をFolderに変更したことを考えると、Apple自身もGroupよりもFolderの使用を推奨する方針に転換したと考えられます。
GroupからFolderへの変更
Xcode16からConvert to Folder
という機能が追加されており、Xcode15以前に作成したGroupのプロジェクトを簡単にFolderに変更することができるようになりました。また、逆にFolderからGroupに変更したい場合はConvert to Group
機能が使えます。
変換に失敗すると以下のようなメッセージが表示されます。
Could not convert “Test” to a folder. The folders on disk and groups in Xcode must match exactly to convert a group to a folder.
ディスク上のフォルダとXcode内のGroupを完全に一致している状態にすることが変換の条件になるようです。
Discussion