Convert to Folderに移行する

Xcode16からデフォルトでついた機能、逆にいうと16以前に追加しているファイルはあのproject.pbxprojに全てごちゃまぜになっている状態。

Convert to Folder対応をすることで、project.pbxprojのコンフリクト地獄から解放される (はず)なので、時間がある時にやっておきましょう。

移行方法

Convert to Folder未完了のフォルダはグレーアイコンになっている状態、対応済みのものは青色アイコンになってます。

↓のようにFolderになってないViewModelsディレクトリがあると仮定

フォルダ上で右クリック、Convert to Folderを選択

青色になったら移行成功、もしエラーが出たらFinder上でXcodeと同じ階層構造に合わせてから実行すると成功するようになります。

そもそもConvert to Folderとは

一言でいうと、「Xcode上の嘘(仮想階層)をやめて、Finderの真実(物理階層)に同期させる」機能。

1. 元々のXcodeの仕様:Group(黄色いアイコン)

これまでのXcodeは、ファイル管理を「Group」という仮想的なタグで行っていました。

  • 特徴: Finderでどこにファイルがあろうが、Xcode上で自由に並べ替えられる。
  • 実態: フォルダに見えるものは、ただの「ラベル」に過ぎない。

2. 何が問題だったのか?

「仮想」と「物理」がズレることで、3つの地獄が発生。

  • GitHubがカオス: Xcode上では整理されているのに、GitHubで見るとファイルがルートにぶちまけられていて、構造が読み取れない。
  • ファイル迷子: Xcodeで階層を変えてもFinder側は動かないため、実体がどこにあるか分からなくなる。
  • Gitコンフリクト祭り: 全ファイルの配置情報を1つの巨大な管理ファイル(project.pbxproj)に書き込むため、複数人でファイルを追加すると100%衝突する。

3. Convert to Folder(青いアイコン)で解決できること

この機能を実行し「Folder Reference」に切り替えると、XcodeはFinderを映す鏡になります。

  • GitHubと一致: Finderの構造がそのまま反映されるため、どこで見ても綺麗な階層になる。
  • メンテナンス不要: Finderでファイルを動かせば、Xcode側も自動で更新される。
  • コンフリクト激減: 個別ファイルの配置情報を管理しなくなるため、チーム開発でのGitマージが劇的に平和になる。