Xcode Resourcesにあるテキストデータ読み込み方法について

Xcode4(ver.4.6)でiPhoneアプリを作っています。


実機でのデータ読み込み方法について、質問させてください。


実機でテストをしています。


辞書アプリを作成しています。

実機にアプリをインストールした際に既に作成済みの

テキストデータもアプリフォルダ内に入った状態にするには、

どうすればよいでしょうか。


シミュレータでは、Documentsフォルダにテキストデータを入れて、

読み書きができたのですが、実機で行うとインストール時に

テキストデータが入らず、Documentsフォルダは空でした。


いろいろ調べてみまして、どうやら作成済みのデータを入れるフォルダは、

別途開発者がResourcesというフォルダを作成して、そこに

データを入れて、その状態で実機にインストールするとResourcesフォルダ

ごと入れることができるようだとわかりました。

上記の認識であっているかわかりませんが、正しいと仮定して試しました。


Resourcesフォルダをxcodeの左側に表示されているフォルダ階層の所で、

New Groupで作成しました。


Resourcesフォルダは、FrameworksやProductsなどのフォルダと同じ階層に

置きました。

Resourcesフォルダの中には、test.txtファイルを置きました。

作成したフォルダを関連づけるため、右側に表示されるIdentityで作成したフォルダ

を選択ダイアログで選択しました。


上記の状態で

NSBundle *bundle = [NSBundle mainBundle];

NSString* dir = [bundle resourcePath];

_myTxtView1.text = dir;


を記して実行してみました。

セットされていたパスは、

/Users/<ユーザ名>/Library/Application Support/iPhone Simulator/6.1/Applications/<可変コード>/Test.app

でした。

これでは仕方ないので、上記のファイルパスの階層に同じResourcesフォルダを作成しました。

そして、コードも下記に変更しました。

NSBundle *bundle = [NSBundlemainBundle];

NSString* dir = [bundle pathForResource:@"test" ofType:@"txt"];

_myTxtView1.text = dir;


すると今度は、パスがdirに何も入っていませんでした。


上記のシミュレータでの結果をふまえつつ、実機にインストールして試してみましたが、

結果はシミュレータと同じ結果となりました。


回答していただきたい内容をまとめますと、

1.辞書ソフトなどを作成する際に作成済みのデータをインストール時に入れると

思うのですが、その方法がResourcesフォルダを作成して、そこにテキストデータなどを

入れるという方法が正しいのでしょうか。

2.上記疑問点が正しいと仮定して、Resourcesフォルダの置き場所は、上記で試した場所で

OKでしょうか。

3.上記で試したコードでは、Resourcesフォルダパスを取得できませんでした。

コード上の問題でしょうか。


ご回答のほど、

よろしくお願いします。

Xcode-OTHER, iOSシミュレータ

投稿日 2013/02/01 20:24

返信
返信: 2

2013/02/02 02:53 Javax_sky への返信

> 1.辞書ソフトなどを作成する際に作成済みのデータをインストール時に入れると

> 思うのですが、その方法がResourcesフォルダを作成して、そこにテキストデータなどを

> 入れるという方法が正しいのでしょうか。


フォルダーにデータを入れるだけでなく、プロジェクトに追加しましたか? プロジェクトに追加できていればプロジェクトウインドウの左側のResourcesグループにファイルが見えるはずです。

先にファイルを入れたフォルダーを用意して、フォルダーごとプロジェクトに追加することもできます。後からファイルを追加する場合は、ファイル単位でプロジェクトに追加する必要があります。


> NSBundle *bundle = [NSBundle mainBundle];

> NSString* dir = [bundle resourcePath];


これでよいはずなので、多分上のことができていないのでしょう。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Xcode Resourcesにあるテキストデータ読み込み方法について

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。