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シミュレータ