1. ホーム
  2. xcode

[解決済み] Xcodeでファイルを実フォルダに移動する

2022-04-21 12:43:34

質問

プロジェクトを開始したとき、Xcodeでリテラルフォルダではなくグループを使用することに満足していました。Xcodeのブラウザを使ってすべてにアクセスするので、ものがきれいに整理され、満足しています。

しかし、バージョン管理のためにプロジェクトを共有しようとしている今、プロジェクトフォルダ自体はターミナル経由でスキャンしようとすると、約300ファイル、その半分以上がグラフィックというホラーショー状態になっています。

私は今、物事を整理し直し、本当の意味でのフォルダを作り、Xcodeにインポートしようとしているのです。残念ながら、Xcodeはグループと同じようにフォルダを操作することができません。例えば、実際に追加されたフォルダ(黄色ではなく青色)を右クリックして、既存のファイルを追加することを選択すると、実際にはそのフォルダには入れず、そのルートに入れることになります。

同様に、偽フォルダー(グループ)から本物のフォルダーにファイルを移動することはできません。Xcodeは、本物のフォルダを、ものを移動するための有効な場所とは見なさないのです。

何が足りないのでしょうか?どうすればXcodeにグループの使い方と同じようにフォルダを使わせるように説得できるのでしょうか?ここに回答があります。 似たような質問 しかし、私は既存のファイルを扱っているので、実際には私の問題を解決することはできません。

どのように解決するのですか?

2017年6月をさらに編集しました。 Xcode 9は自動的にこれを行いますので、特別な努力は必要ありません。この答えと ブランドンさんの は、Xcode 8以前のバージョンにのみ適用されます。

2016年12月を編集しました。 以下のBrandonの回答は、今となってはより良い解決策です。この回答が作成された2010年当時、私が見つけた唯一の選択肢でした。現在では ブランドンからの回答 をご覧ください。


実際のフォルダにファイルを移動することは、簡単ではありませんが、確かに可能であることがわかりました。

基本的な情報は、こちらの質問から得ました。 Xcodeのファイルとフォルダの整理 (コアデータモデルオブジェクト - iPhone) しかし、その過程で重要なことを学びました。

プロセス

ファイルの移動は、複数のサブステップを含む2段階のプロセスです。

  1. Xcodeにファイルの置き場所を伝える :

    • 移動したいファイルまたはファイルグループの上で右/Controlキーを押しながらクリックし、以下を選択します。 情報取得 をクリックすると、コンテキストメニューが表示されます。このとき グループ情報 または ファイル情報 のウィンドウが表示されます。



    • をクリックします。 選択 のウィンドウの右端にあるボタンをクリックします。 パス というエリアがあります。ダイアログボックスが表示されます。



    • ファイルを移動させたいフォルダに移動します。を作成します。 新規フォルダ 必要であれば をクリックします。 選択 ボタンをクリックし、ダイアログボックスを閉じます。 グループ情報/ファイル情報 ウィンドウを開きます。



    • グループ内のファイル/ファイルの名前が赤色に変わり、Xcodeが指定した場所でそれらを見つけられないことを示します。



  2. 実際のファイルを移動する

    • Finder(またはGit)で、ステップ1で選択したファイルを、実際に必要なフォルダに移動します。



    • Xcodeに戻ります。ファイル/グループがすべて黒く戻っているはずです。まだ赤いものがある場合は、正しいフォルダに何かを移動し損ねている可能性があります。

ヒント

このプロジェクトで約300のファイルを調整する中で、いくつかの重要なことを学びました。

  • ファイルによっては、この方法で移動することを拒否するものもあります。 を選択します。 ボタンが無効になり、さらに 新規フォルダ ボタンをクリックします。解決策は、なぜそれが違いを生むのか分かりませんが、まずXcodeを使ってこれらのファイルをグループに入れることです(ファイルを右/コントロールボタンでクリックし、[OK]を選択)。 グループ という名前を付けて)、グループを新しい場所に移動させます。Finderで実際にファイルを移動した後、グループからファイルを削除することができます(新しい親グループ/フォルダにドラッグして、グループを削除します)。



  • いくつかのファイルについて手順2を完了した後、数分ごとに停止してビルドします。ビルドは、これまでに何か失敗したかを教えてくれるので、ダメージが大きくなる前に戻って修正することが容易になります。



  • もしファイルが移動しない場合(Classesフォルダの初期に作成されたファイルを移動するのに苦労しました)、ファインダ内の古い場所からデスクトップなどの手近な場所にドラッグして、Xcodeでそれらの参照を削除し、右クリック/コントロールクリックで再インポートすることが可能です。 既存ファイルの追加 オプションを使用します。



  • 過去にXcodeを使って、このプロジェクトのゴミ箱に移動させずにファイルへの参照を削除したことがある場合、移動する必要のないファイルがただそこに置かれていることに気づくでしょう。私のように、現在移動しているファイル群の名前と、もうリンクされていない古いファイルの名前を混同して、Xcodeが濃いと思ってそれらをインポートするように主張してしまわないように注意してください。

未来の誰かの役に立てばいいのですが。これほどまでに難しく、時に厄介なものだったとは驚きです。