3

アプリケーション サポート フォルダーへのパスをプログラムで取得し、アプリケーション サポート フォルダー内のファイルをテストし、結果に応じてファイルを読み込むか新しいファイルを作成する iPhone アプリがあります。これは簡単で、これを行う方法に関するチュートリアルがたくさんあります。

しかし、アプリをビルドする前にアプリケーションサポートフォルダーにファイルを配置する方法について、iOSのドキュメントやオンラインで何かを見つけることはできません。アプリの Xcode フォルダーに Library/Application Support を作成しようとしましたが、役に立ちませんでした。

具体的には、ゲームを作成しており、アプリケーションをビルドして実行する前に、ゲームの Library/Application Support フォルダにレベル パックを含めたいと考えています。可能であれば、Finder でファイルをドラッグ アンド ドロップします。これは可能ですか?

@ヴィマル・ヴェヌゴパラン

編集: Vimal が述べたように、[[NSBundle mainBundle] pathForResource:ofType:inDirectory:] メソッドを使用できますが、これにより、「~/MyApp.app/MyFolder/MyFile.plist」のようなパスが得られます。これは、"~" がアプリのホーム ディレクトリへのパスである場合です。またはより具体的には、「~」は NSHomeDirectory(); を呼び出すことによって返されるパスです。関数。ファイルを置きたい場所は「~/Library/Application Support/MyFolder/MyFile.plist」です

レベルパックをゲームに組み込みたいので、この場所にファイルが必要です。アプリのダウンロードにいくつかのレベル パックを含めたいと考えています。最終的には、ダウンロード可能なレベル パックを追加したいと考えています。ダウンロードしたレベル パックは必ず "~/Library/Application Support/" フォルダー (プログラムで行う方法を知っています) に入れる必要があるため、ビルドして実行する前に元のレベル パックを同じ場所に含めたいと思います。アプリ。すべてのレベル パックを 1 か所にまとめた方がはるかに簡単です!

4

1 に答える 1

3

これらのファイルをプロジェクトに追加し、実行時にこれらのファイルにアクセスできます。Xcode は、バンドル リソースのコピー フェーズでそれらをコピーします。これは通常、バンドルのルートにコピーされます。ディレクトリを扱うには、この SO questionに対する @CocoaFu の回答を参照してください。

次に、コードで

NSBundle* bundle = [NSBundle mainBundle]メインバンドルを提供します

これから、pathForResource:ofType:inDirectory を使用してディレクトリを調べます。

NSString* path = [bundle pathForResource:@"file.xml" 
                                  ofType:nil 
                             inDirectory:@"a"];

メソッドはNSBundle クラス リファレンスに記載されており、バンドル プログラミング ガイドも参照してください。

これで問題が解決することを願っています。そうでない場合はコメントしてください

于 2012-09-17T13:37:19.097 に答える