次のグループ構造のXcodeプロジェクトがあります。
ProjectName/
Classes/
class1.h
class1.m
class2.h
class2.m
...
XMLDocs/
doc1.xml
doc2.xml
...
Resources/
Info.plist
MainMenu.xib
...
などなど。
これをディスク上のフォルダ構造にも表示したいと思います。
ProjectFolder/
Project.xcodeproj
Classes/
class1.h
class1.m
class2.h
class2.m
...
XMLDocs/
doc1.xml
doc2.xml
...
Resources/
Info.plist
MainMenu.xib
...
ルートプロジェクトフォルダの方法論の通常のすべてとは対照的に。
ディスク上にフォルダ構造を手動で作成し、Xcode内のすべての参照を新しい場所に再ポイントする必要なしにこれを行う方法はありますか?
Xcodeで新しいグループを作成したり、既存のグループにファイルを追加したりするたびに、これを自動的に行う方法を教えていただければ、ボーナスポイントが得られます。
Xcodeには「ディスクをプロジェクト構造のように見せるための」機能はありません。
ただし、AppleScriptを使用してタスクを自動化することはできます。スクリプトからプロジェクト構造を調べたり変更したりすることができます。したがって、プロジェクト構造を反復処理し、フォルダー階層をプロジェクト構造と同じように見せ、Xcodeのファイルとグループの参照が同時に指す場所を調整するスクリプトを作成する必要があります。
あなたはある程度これを行うことができます!新しいグループを作成するたびに実行する追加の手順は1つだけです(そして今回は初めて、やるべきことがたくさんあります!):
Xcodeでグループを作成するときはいつでも、すぐにそれを選択して右側のサイドバーを開きます。名前のすぐ下にある「Location:」設定に注意してください。 「なし」の横にあるフォルダアイコンをクリックして、同じ名前の新しいフォルダに設定します。
これで、グループにファイルを追加するたびに、ファイルはディスク上の対応するフォルダーに移動します。ウー!
残念ながら、今回はファイルを移動する必要があります。 (グループパスを変更すると、Xcodeが新しいフォルダーでファイルを探し始めるため、ファイルはすべて赤に変わります。修正するには、ファイルをFinderから手動で移動する必要があります。)ただし、コマンドがあります。 -この初期移行を実行するためのラインツール: https://github.com/venmo/synx
フォルダー参照は必要なものです。プロジェクトにファイルをドラッグまたは追加する場合、「追加されたフォルダのフォルダ参照を作成する」オプションがあります。それを選択すると、希望する動作が得られます。
代替テキストhttp://img.skitch.com/20081203-prtxsp7c36ern4afxxdixy93sq.png
プロジェクトの囲んでいるフォルダー全体をフォルダー参照として追加してみてください。それはすべてを得るはずです。または、「クラス」、「リソース」、「XML」の参照を個別に追加します。
Xcode9はこの問題を解決します。デフォルトでは、ディスク上の対応するフォルダを使用して新しいグループが作成されます。
Xcodeでファイルを移動し、同時に[CMD]を押すと、フォルダー構造がXcode構造と一致することがわかりました。