Help us understand the problem. What is going on with this article?

【Xcode】開発途中に手動でディレクトリ構成を変更する

概要

Xcodeでのディレクトリ構成変更方法についてです。初歩的な話ですね。

開発してる途中で「ディレクトリの構成変えたくなったんだけどどうしたらええんや?!」となって調べても今のバージョンで詳しいやり方が載っている記事等がなかったので書いてみました。
僕はちゃんと知らなくて適当にやったらビルドエラーでめちゃくちゃはまってしまったので、同じようにはまった人のためになれば嬉しいです。

自分の調べ方が悪かっただけで、もっとしっかり説明されている記事等があるかもしれないのであれば教えていただけると嬉しいです!

環境

【Xcode】 Version 10.1

正しいやり方

まず以下のファイルたちがプロジェクト内にある状態とします。
スクリーンショット 2019-02-27 18.39.11.png

Finderで見るとこんな感じ
スクリーンショット 2019-02-27 18.38.01.png

この状態からディレクトリの構成を変更していきます!
今回はMVCモデルに沿ってディレクトリ構成を変更してみます。
まず、Finderにて新規フォルダを作成します。
作成するのはModel , View , Controller の3つのフォルダです。
スクリーンショット 2019-02-27 18.41.12.png

作成したらそれぞれのフォルダにファイルを振り分けていきます。
スクリーンショット 2019-02-27 18.42.23.png

振り分け終わったら、Xcodeを見てみましょう。
スクリーンショット 2019-02-27 18.43.41.png

先ほどまでなんともなかったファイルたちが赤くなっていますね。
赤い状態は「ファイルの参照先にファイルがなくなってるよ〜」と知らせてくれているものです。

一つファイルを選択してinspectorのFullPathをみてみるとファイルのパスが指定されています。がしかし、そのパスにファイルが存在しないので怒られるんですね。
スクリーンショット 2019-02-27 18.45.16.png

ということでこの赤くなっているファイルを消しても参照が消えるだけなので削除しちゃいます。
スクリーンショット 2019-02-27 18.48.04.png

最後に先ほど作成したフォルダたちをXcode上に追加していきます。
FinderからDrag&Dropで追加すると以下のような表示が出ます。
スクリーンショット 2019-02-27 18.49.44.png

大事なのがここでCreate Groupsを選択することです。
この状態でFinishを押すと黄色のフォルダがXcode上に現れます。
スクリーンショット 2019-02-27 18.51.59.png

他のフォルダも同様に入れていき、ビルドができるかどうかの確認が完了すれば…
スクリーンショット 2019-02-27 18.58.42.png

ディレクトリ構成の変更完了です!

誤ったやり方

僕が何も知らずにやった方法です。
Finder場でフォルダ作成してファイルを分けるところまでは同じ。
スクリーンショット 2019-02-27 19.00.56.png

この後Create GroupではなくCreate folder Referencesを選択すると以下の感じになります。
スクリーンショット 2019-02-27 19.03.34.png

一見大丈夫そうですが、ビルドして実行するとエラーが生じるようになります。
スクリーンショット 2019-02-27 19.16.31.png

あくまでも参照はファイルに対して行うものであって、フォルダに対して行うことはできないのだと思います。(見当違いなこと言っていたらごめんなさい)

最後に

他にこういうやり方あるよ!とかこんなやり方しなくてもこうやりゃいいじゃろが等あれば教えていただけると幸せになれます!

以上です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away