0

したがって、パスを取得するには次の方法があります。

- (NSString *)filePath {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_json", self.identifier]];
    return filePath;
}

このパスは、キーチェーン アクセス kSecAttrAccount および kSecAttrGeneric に使用されます。したがって、同じパスを持つことを期待しています。ただし、アプリをアップグレードすると、このパスが変更されることがわかりました。

以前は:

/var/mobile/Applications/CEE344F7-4FE1-4455-BD6D-A4D6EAA4F5FE/Documents

そして病棟の後は次のとおりでした:

/var/mobile/Applications/A6429F46-972C-4BC1-A71B-2786312663E8/Documents/

これが起こる原因は何ですか?

4

1 に答える 1

2

これは、iOS がアプリの更新バージョンを新しいフォルダーにインストールすることを意味します。それが完了すると、ユーザーデータが新しいフォルダーに移動され、古いフォルダーが削除されます。これはおそらく完了しているため、インストール中のエラーによって既存のアプリが破損することはありません。

于 2012-07-07T17:21:34.527 に答える