*

Xcode5のプロジェクトへのファイルやフォルダの追加方法

公開日: : 最終更新日:2016/12/05 Objective-C ,


スポンサードリンク



Xcodeでアプリ開発を行う時に、イメージ(画像)の表示は必須な処理であると言えます。
本エントリーでは、Xcode5のプロジェクトへのイメージの登録とアプリケーションでの表示、及びイメージタップ時の動作の実装の説明をと思ったのですが、エントリーを書いていて、Xcode5のプロジェクトにファイルやフォルダを追加する処理は別エントリーが良い!との結論に至り。まずはこの部分のエントリーを作成いたしました。

本エントリーは、以下の順番で説明させていただきます。

  1. プロジェクトへのファイル・フォルダ登録時のオプション
  2. プロジェクトへの既存ファイルの登録
  3. プロジェクトへのフォルダの登録
  4. 結論



作業に先立ってプロジェクトの作成を行います。「Single View Application」テンプレートで。プロジェクト名がUiImageViewSampleのプロジェクトを作成します。

1 プロジェクトへのファイル・フォルダ登録時のオプション

アプリケーションで利用するイメージをプロジェクトに登録する方法は、ファインダから登録したいイメージをドラッグ&ドロップするだけです。
ドラッグした画像のディテールが素晴らしくチープですよね。
スクリーンショット 2014-03-15 18.02.17

ドロップした時点でオプションのダイアログが表示されます。
スクリーンショット 2014-03-15 14.23.34

「Destination」

「Copy items into destination groups’s folder」

デフォルトで未チェックです。チェックするとイメージファイルをコピーし、プロジェクトに登録します。
チェック無しだとプロジェクトには追加されますが、ファイルの参照が追加されます。

「Folders」

「Create groups for any added folders」

登録されているフォルダにグループを作成します。

「Create folder references for any added folders」

登録されているフォルダにフォルダ参照を作成します。

Foldersの方がイマイチ意味不明ですね。
実際に操作してどうかなるか以降で試してみました。

2 プロジェクトへの既存ファイルの登録

今後の説明を円滑にするため、各オプションの選択状態のパターンを
パターン1:「Copy items into destination groups’s folder」チェックし、「Create groups for any added folders」を選択
パターン2:「Copy items into destination groups’s folder」チェックし、「Create folder references for any added folders」を選択
パターン3:「Copy items into destination groups’s folder」チェックなし、「Create groups for any added folders」を選択
パターン4:「Copy items into destination groups’s folder」チェックなし、「Create folder references for any added folders」を選択
と定義しました。

パターン1

以下の画像の左にあるFinderのone.pngをプロジェクトにドロップします。
スクリーンショット 2014-03-15 14.21.19

当然パターン1の設定を指定します。
スクリーンショット 2014-03-15 18.22.51

うまく登録されました。
スクリーンショット 2014-03-15 18.23.34

one.pngを選択して右クリックメニューから「Show in Finder」をクリックしてみます。
ちゃんとプロジェクトにコピーされています。
スクリーンショット 2014-03-15 18.25.53

パターン3

諸事情のためパターン2は飛ばしてます。後ほど説明させていただきます。
今度はtwo.pngをプロジェクトに追加します。
オプションは当然パターン3です。
スクリーンショット 2014-03-15 18.29.39

登録後の見た目でパターン1と異なるところは、履歴管理のA:新規追加が右側に表示されていないことです。
two.pngを選択して「Show in Finder」をクリックしてみます。

すると以下のFinderが表示されました。やはりドラッグ元のファイルが表示されました。
スクリーンショット 2014-03-15 18.35.13

パターン2、パターン4

パターン2、パターン4と試してみたのですが、パターン2はパターン1と同じ、パターン4はパターン3と同じ結果になりました。
Foldersなのでファイルの追加時には関係ないように思えます。確証は持てませんがおそらくそうでしょう。

3 プロジェクトへのフォルダの登録

ファイルの時と同じ様に各パターン毎にフォルダの追加を試してみました。
追加するフォルダはデスクトップにあるimagesフォルダとしました。

ドラッグするフォルダはimagesと言う名前で中身は以下の様になっています。
スクリーンショット 2014-03-15 17.04.11

パターン1

imagesフォルダをドラッグ&ドロップし、パターン1の設定で追加します。

ドラック後のプロジェクトナビゲーターに注目してください。
imagesフォルダとその配下のファイルとフォルダが全て追加されています。
スクリーンショット 2014-03-15 17.09.34

imagesを選択してShow in Finderをクリックした時には以下のFinderが表示されました。
ちゃんとコピーされていますね。
スクリーンショット 2014-03-15 17.35.46

パターン2

結果を確認する前にプロジェクトに追加されたフォルダを削除してください。
参照ではなく、参照とファイルをゴミ箱に入れてください。
スクリーンショット 2014-03-15 17.38.28

imagesフォルダをドラッグ&ドロップし、パターン2の設定で追加します。
すると、プロジェクトナビゲーターには以下の様に表示されました。
imagesの色が青く表示されています。これは「Create folder references for any added folders」が選択されて追加されたとの目印です。
スクリーンショット 2014-03-15 20.16.34

他のフォルダと異なる所は、ファイルシステム上の変更が、この青いフォルダには反映されることです。
またまたimagesフォルダを選択して「Show in Fider」をクリックしてFinderを表示してください。
例えばFinderのimages直下のone.pngをデスクトップに移動してみます。

するとプロジェクトナビゲーターのimagesフォルダでもone.pngが自動的に表示されなくなります。
スクリーンショット 2014-03-15 20.26.10

再度、デスクトップのone.pngをFinderのimages直下に移動してみます。
プロジェクトナビゲータの表示は予想通りの結果となります。
スクリーンショット 2014-03-15 20.27.41

パターン3

パターン1の実ファイルがコピーされない版の動きとなります。

パターン4

パターン2の実ファイルがコピーされない版の動きとなります。
このパターンでも参照しているフォルダに何らかの変更が起こった場合は、プロジェクトナビゲータにも同じ変更が反映されます。

4 結論

本エントリーでは、アプリ開発時に頻繁に利用するであろう「Xcode5のプロジェクトへのファイルやフォルダの追加方法」に関する説明をさせていただきました。

単一のアプリ開発を行っている場合は、ファイル・フォルダの追加方法によって、大きな問題が起こることは殆どないと思います。
有るとすれば、参照でプロジェクトに追加していたのに、追加していることを忘れて参照フォルダや、その中身を消してしまうことぐらうです。

複数のアプリ開発を行っている場合は、イメージファイルや、共通で利用するファイル等を複数プロジェクトに参照で追加していると思います。
ソースコードやファイルを扱う人が一人であればあまり問題は起こらないと思いますが、複数人で作業を行う場合は、全ての人が、他のアプリへの影響を十分に認識してできるようにする必要があります。


スポンサードリンク

Googleアドセンス

Googleアドセンス




関連記事

Xcode5の「Auto Layout」機能の使い方[Pin制約の設定方法]

「基礎知識と制約(Align:アライメント)の設定方法」に引き続き、「Auto Layout」に必要

記事を読む

iOS(Xcode6とObjective-C)におけるマルチスレッド(非同期)処理の実装方法その2[GCD(Grand Central Dispatch)の利用]

本エントリーではGCD(Grand Central Dispatch)を利用したiOSのマルチスレッ

記事を読む

iOS(Xcode6とObjective-C)におけるマルチスレッド処理の実装方法その1[NSThreadクラスの簡単な利用例]

「iOS(Xcode6)におけるマルチスレッド処理の実装方法その1」に引き続きiOSに置けるマルチス

記事を読む

Xcode6からはProjectName-Prefix.pchは自動的に生成されませんが、それでもpchファイルを利用したい時の利用方法

小ネタですが、Xcode6からはProjectName-Prefix.pchは自動的に生成されなくな

記事を読む

no image

Xcode5のナビゲーションエリア[問題ナビゲータ]の使い方

Xcode5のナビゲーションエリアの使い方では、アプリ開発に最も不可欠は、プロジェクトとシンボルナビ

記事を読む

Xcodeのユーティリティエリアの使い方[ストーリーボード表示時の「File」,「Quick Help」,「Identity」]

本エントリーでは、「Xcodeのユーティリティエリアの使い方」に引き続き、「ストーリーボード」表示時

記事を読む

Xcode(Objective-C)のデリゲートとプロトコルの使い方[後編]

ではXcodeが既に用意しているデリゲートを利用した実装例について説明させていただきました。

記事を読む

Xcodeのナビゲーションコントローラの使い方[「Single View Application」テンプレートからナビゲーションコントローラを利用する方法]

「Master-Detail Application」テンプレートを利用すれば、始めから「ナビゲーシ

記事を読む

Xcodeの使い方[エディタエリアの環境設定]

「Xcodeの使い方」に引き続き「Xcodeの使い方[エディタエリアの環境設定]」となります。

記事を読む

Xcode&Objective-Cの文字列処理をユニットテスト(XCTestフレームワーク)で確認する。[NSStringの比較]

前回は、NSStringの定義、分割、検索の各処理を確認しました。 二回目は、NSStringの比

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

動画で英語を学習できるiOSの無料アプリCapTubeをリリースいたしました。

個人では初となるiOSアプリをリリースいたしました。 何度もリジ

no image
Ruby on rails4系でBootstrapを利用するためのtips

MacでRuby on rails4系のBootstrapを利用しよう

no image
Java、Eclipse、JUnit関連のエントリーの移行のお知らせ

Java、Eclipse、JUnit関連のエントリーは http:/

iOS8開発者向けお勧め本紹介[詳細! Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応]

iOS7開発者向けお勧め本紹介を以前に紹介させていただきまいたが、今回

Swift入門(Xcode6のXCTestフレームワークで学ぶ) 第二回「関数(メソッド)とクロージャーの利用方法」

前回はSwiftの概要をザックリと説明させていただきました。 今

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑