1

iPhoneにアプリをインストールする場合、アプリのドキュメントフォルダにファイルをインストールする方法はありますか?

別の言い方をすれば、ユーザーがアプリをダウンロードしてiPhoneにインストールすると、いくつかのファイルがアプリのドキュメントディレクトリに自動的にインストールされます。

例:開発時にアプリSeeFooRun用に作成したファイルfoo.txtがあります。アプリをインストールするときに、 foo.txtをDocumentsディレクトリに表示して、アプリを初めて実行するときに、AppBundleではなくDocumentsディレクトリからfoo.txtにアクセスできるようにします。

ありがとう!

In the example I said "runs for the first time" when I meant to say "installs" and I changed the rest of the sentence to fit. Sorry for the mix up!

4

3 に答える 3

2

私はこの方法を使用してそれを行います:

ルート plist にプロパティを作成し、初期値を "NO" に設定します。アプリの実行時に、この値を確認します。

値が「NO」の場合は、ドキュメント ディレクトリにドキュメントを作成し、値を「YES」に変更して値を保存します。

次回アプリを実行すると、値は「YES」になり、ファイルは再構築されません。

お役に立てれば.....

于 2009-12-25T19:18:23.667 に答える
0

次のようなことができます。

NSFileManager *fileManager = [NSFileManager defaultManager];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *pathLocal = [documentsDir stringByAppendingPathComponent:@"foo.txt"];

NSString *pathBundle = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"foo.txt"];

NSError *error;
BOOL success = [fileManager copyItemAtPath:pathBundle toPath:pathLocal error:&error];
于 2009-12-25T19:25:12.977 に答える
0

Documents へのコピーの答えのわずかなバリエーション - コピーしたすべてのものを作成した Documents のフォルダーに入れ、起動時にその 1 つのフォルダーの存在を確認し、すべてのコピーを実行します。

ただし、ファイルごとのチェックはより堅牢です。特に、更新で新しいファイルを追加する場合、コピー ロジックは古いファイルを上書きすることなく単一の新しいファイルにコピーします。

于 2009-12-25T21:18:06.500 に答える