Xcode 4プロジェクトナビゲーターペインでクラスをグループに整理するのが好きです。また、ターミナル経由でGITバージョン管理を使用します。これは、Xcode 4統合よりもうまく機能します。私にとっては、Xcodeで作成したグループがファイルシステム上の実際のフォルダーに対応している場合に最も意味があります。
ただし、Xcodeはファイル(Objective-C .h/.mファイルなど)がファイルシステムのどこにあるかを気にしていないようで、グループを追加するたびに(Option+Command+N
)それは純粋に表面的なものです。そこに置くファイルは、ハードドライブ上の残りの場所と同じ場所を共有します。
奇妙なことに、最初にハードドライブにフォルダーを作成し、それをXcodeにドラッグすると、ファイルシステム上の独自の場所にグループが作成されます。そこに作成するすべてのファイルは、ディスク上のフォルダーに作成されます。私はそれが大好きですが、XcodeがOption+Command+N
。作成するグループごとにFinderに切り替えてから、プロジェクトナビゲーターの適切な場所にドラッグして戻すワークフローは、まったくばかげています。
設定で修正されるような気がしますが、見つけられません!もっと良い方法はありますか?
更新:フォルダーをXcodeにドラッグすると、「フォルダー参照」を選択できるダイアログウィンドウが表示されます。それは有望に見えますが、私のXcode 4はそこにあるファイルをクラスとして受け入れず、ファイルが見つからないことを教え続けます。答えはどこかにあるかもしれませんが、私はまだそれを見つけることができません。
別の更新:メインエディター環境をXcodeからAppCodeに変更しました。後者は、Xcodeとの100%の互換性を維持しながら、プロジェクトグループをサポートするフォルダーの実際の作成をサポートします。 AppCodeの連中は、彼らが何をしているかを確実に知っています。
以下では、Xcode 9以降について説明します。
Xcode 9以降、プロジェクトでグループを作成すると、Xcodeはファイルシステムフォルダーを自動的に作成できます。
プロジェクトナビゲータで右クリック(またはControlキーを押しながらクリック)すると、コンテキストメニューに「新しいグループ」メニュー項目とeither「 「フォルダのある新しいグループ」メニュー項目または「フォルダのない新しいグループ」メニュー項目。
Xcodeが「新しいグループ」と「フォルダーを持つ新しいグループ」を提供する場合、「新しいグループ」はフォルダーなしでグループを作成します。
Xcodeが「新しいグループ」と「フォルダなしの新しいグループ」を提供する場合、「新しいグループ」はフォルダを持つグループを作成します。
言い換えると、「新規グループ」は、フォルダーの作成に関して、常に他の(明示的な)メニュー項目の反対を行います。
グループの名前を変更し、そのグループに同じ名前の対応するフォルダーがある場合、Xcode 9はフォルダーの名前も変更します。
Xcode 9では、あるグループから別のグループにファイルをドラッグし、グループのフォルダーが異なる場合、Xcode 9は、新しいグループのフォルダーがグループと同じ名前であるかどうかに関係なく、ファイルを新しいグループのフォルダーに移動します。
Xcode 9でこの動作をしたくない場合は、コマンドラインから文書化されていない設定を設定できます。
defaults write com.Apple.dt.Xcode IDEDisableStructureEditingCoordinator -bool YES
Xcodeが「新しいグループ」と「フォルダ付きの新しいグループ」、または「新しいグループ」と「フォルダなしの新しいグループ」を表示するかどうかを決定する方法はまったく明らかではありません。 Apple WWDC 2018のエンジニア(彼の名前はPaulだったと思います)はXcodeソースコードを見て、それを私に説明しました:
基本的に、Xcodeは、将来の兄弟に独自のフォルダーがあるかどうかに基づいて、新しいグループに独自のフォルダーがあるかどうかを推測しようとします。
Xcodeで直接can独自のフォルダを使用して新しいグループを作成できますが、それはまったく明らかではありません。
「新しいグループ」を選択する代わりに、「ファイルを「<プロジェクト>」に追加」を選択します。次に、ファイル選択ダイアログで、「新規フォルダー」ボタンをクリックするか、Command-Shift-Nを押して、新規フォルダー/グループの名前を入力します。次に、「追加されたフォルダーのグループを作成する」が選択されていることを確認し、「追加」をクリックするか、Returnキーを押します。
これは、既存のファイルを新しいグループに移動する必要がある場合、Xcodeはまだそれをしないので、あなたをあまり節約しません。
ただし、新しいファイルを保持するために新しいグループを作成する場合は、いくつかの手順が節約されます。
フォルダーを同期するのが面倒な人には、 GitHub に素敵なツールがあります。
Synxは、XcodeプロジェクトフォルダをXcodeグループに合わせて再編成するコマンドラインツールです。
これが誰かを助けることを願って
Andyvn22の答えをご覧ください here
言い換えると:
その後、ディスク上の既存のファイルを新しいフォルダーに手動で移動する必要があります。
Xcode4プロジェクトでこれを試してみましたが、これは魅力のように機能します。