0

ファイルと写真をSupporting Filesフォルダーにローカルにダウンロードしました(xcodeの右側のパネル)。これらのファイルはWebサーバーにもダウンロードされます。アプリケーションがこれらのファイルが更新されたことを検出した場合、 Webサーバーで、Supporting Files使用 した新しいコンテンツに置き換えます

NSArray* pathArray = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory,NSUserDomainMask, YES);  
documentsDirectory = [pathArray objectAtIndex:0];
NSString* localFile = [documentsDirectory stringByAppendingPathComponent:@"test.txt"];
[data writeToFile:localFile options:NSDataWritingAtomic  error:&error];

コードはうまく機能しますが、問題は
Library/Application Supportフォルダー内のファイルのコンテンツを置き換えることでありSupporting Files 、私がそうするときはそうではありません:

NSBundle *thisBundle = [NSBundle mainBundle];
NSString *TextURL = [thisBundle pathForResource:@"test" ofType:@"txt"];
NSURL *instructionsURL = [NSURL fileURLWithPath:TextURL];
NSString *TextString = [NSString stringWithContentsOfURL:instructionsURL];
mayText.text = TextString;  

更新されたコンテンツではなく、古いコンテンツが表示される アプリケーション サポート ファイルが変更されるたびにサポート ファイル ディレクトリ内のファイルを置き換えるようにコードを変更するにはどうすればよいですか? この 2 つのフォルダの違いは何ですか? ありがとうございました。

4

1 に答える 1

0

できません。デバイス上の iOS アプリは署名されているため、バンドルのコンテンツを変更すると署名が壊れます。また、Xcode によって管理され、ターゲットに追加されたすべてのファイルはバンドルに移動するため、それらを変更してはなりません。

代わりに、Documents などのサンドボックス ディレクトリにファイルをダウンロードし、そこにアクセスします。

また、Supporting Filesiin Xcode はディレクトリではなくグループであることに注意してください。Xcode プロジェクト内のコンテンツをグループ化するだけで、ファイル システム レベルのディレクトリ内のファイルを整理しません。

于 2013-05-16T15:02:26.850 に答える