Как прочитать файл .data, закодированный с помощью NSKeyedArchiever iPhone - PullRequest
0 голосов
/ 09 июня 2011

Я использую NSKeyedArchiver для архивирования данных в приложении для iPhone в .data. Длинная история, короче говоря, я потерял все свои данные. Я использую «iPhone резервную копию экстрактора», и он прекрасно работает. Я нашел файл .data для своего приложения.

Чтобы было понятно, я нашел файл .data и хотел бы открыть его и посмотреть, как выглядит содержимое. Я понимаю, что никакое программное обеспечение (например, блокнот) не сможет прочитать этот файл, и мне, возможно, придется использовать Xcode. Если вы знаете, Xcode / notepad / someProgram, пожалуйста, дайте мне знать.

Это код, который я реализую при создании приложения:

- (NSString *)locPath {
    return pathInDocumentDirectory(@"tableArray.data");
}

- (void)archieve{
    // Get the path to the document directory
    NSString *path = [self locPath];

    // grab the array
    NSMutableArray *tableArray = [someViewController tableArray];

    // archive the array to file
    [NSKeyedArchiver archiveRootObject:tableArray toFile:path];
}

Этот код вызывается во время applicationWillTerminate, applicationDidEnterBackground и т. Д. *

Данные восстанавливаются / обрабатываются в didFinishLaunchingWithOptions следующим образом:

// Get the path to the document directory
NSString *path = [self locPath];

// Unarchive .data into an array
NSMutableArray *tableArray = [NSKeyedUnarchiver unarchiveObjectWithFile:path];

Любая помощь приветствуется! Спасибо !!!

PS: ссылка для экстрактора резервных копий iPhone http://supercrazyawesome.com/

1 Ответ

0 голосов
/ 29 июня 2011

Самый простой способ, который я нашел, - это получить каталог документов с помощью этого кода:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *dir = [paths objectAtIndex:0];
NSLog(@"Directory: %@", dir);

Там, в папке Documents будет находиться файл .data

...