0

以下を使用して、コンパイルされたアプリケーションのバンドルの一部であるファイルのパスを取得できます。

[[NSBundle mainBundle] pathForResource:@"MyFile" ofType:@"txt"];
// .../iPhone Simulator/6.0/Applications/52AD3E56-41DC-4A0E-A435-DACBF9475540/MyApp/MyFile.txt

しかし、Xcodeプロジェクトのディレクトリ内で元のファイルのパスを取得する方法はありますか?

上記の例では、のようになります~/projects/xcode/MyApp/MyFile.txt

コンテキストは次のとおりです。プロジェクト(NUI)で作業していて、アプリケーションを実行し、アプリの実行中にXcodeでリソースのファイルを変更し、アプリの実行中にアプリで新しく変更されたファイルを再読み取りできるようにしたいまだ実行中です。

これは開発中にのみ使用されます。これは明示的に可能ではありませんが、この問題に対する他のアプローチのアイデアを誰かが持っていますか?

4

1 に答える 1

0

リソースファイル(この場合はMyFiles.txt)は、アプリケーション内でサンドボックス化されます。すでに述べたように、mainBundle pathForResourceを使用して、アプリ自体の内部から実行時にそれらにアクセスできます。ただし、アプリケーションバンドルが作成されると、Xcodeからそのファイルにアクセスすることに問題はありません。アプリケーションはバンドル内にあるMyFile.txtを使用し、Xcodeプロジェクトに追加したものではないためです。つまり、簡単に言うと、アプリの実行中は、Xcode内のtxtファイルにアクセスしていません。このtxtファイルは、アプリケーションバンドル内にあるアプリ自体の一部です。

さて、-アプリからこのファイルにアクセスできますか-AFAIKについての質問です。いいえ、それはできません。

于 2013-01-04T04:01:31.853 に答える