2014-09-29 2 views
0

Я разрабатываю игру ios, и я хотел бы знать, защищены ли сейферы в plist? У меня есть некоторые вопросы, на которых я действительно не знаю ответов на пример, если пользователь выходит из приложений во время сохранения, что происходит?Сохранение в plist действительно безопасно?

Я нахожу plist очень полезным и простым в использовании. Я храню, например, много координат и информации об пользовательском интерфейсе, но в этих файлах я только читаю информацию. И в другом plist я храню некоторые данные, такие как высокие оценки, статика, очки, которые необходимо обновлять и сохранять с новыми значениями каждый раз после игры или когда пользователь покупает новые аксессуары для магазина.

Как обращаться с поврежденным файлом из-за плохой экономии. Я могу сделать копию каждый на новом plist в каждой нечетной игре и иметь файлы, которые можно перезагрузить и не потерять, но, похоже, это плохое решение и глупо, но я не хочу создавать приложение, в котором пользователи могут потерять все данные из-за сохраненного отказа и начать игру с самого начала.

Я прочитал некоторые ссылки, подобные этому (Saving game score locally on iOS device...is security needed?), но я предпочитаю хранить файлы plist, кроме использования NSUserDefaults, потому что у меня есть много данных для сохранения.

Я думаю о решении, в котором пользователь может хранить копию в облаке plist, подобном этому он удаляет приложение, которое может иметь доступ к его предпочтениям, или если сбой сохранен, чтобы автоматически загрузить действительный файл, но кажется странно, и я никогда не работаю над такими вещами.

Я прочитал больше сообщений, и мне действительно нужны советы здесь и надеюсь, что я не дублирую вопрос.

ответ

0

Быстрое, простое и надежное решение было бы использовать библиотеку PARSE. Я бы использовал структуру Parse Core. Это избавит вас от многих головных болей. https://parse.com/products/core#howitworks

Пример кода:

// Create a new Parse object 
PFObject *post = [PFObject objectWithClassName:@"Post"]; 
[post setObject:@"Hello World" forKey:@"title"]; 

// Save it to Parse 
[post saveInBackground]; 

У них даже есть возможность сохранить КОНЦЕ КОНЦОВ для случаев, когда вы не уверены в Wi-Fi подключения/3g

// Create the object. 
PFObject *gameScore = [PFObject objectWithClassName:@"GameScore"]; 
gameScore[@"score"] = @1337; 
gameScore[@"playerName"] = @"Sean Plott"; 
gameScore[@"cheatMode"] = @NO; 
[gameScore saveEventually]; 
+0

спасибо за Ваш ответ Я не сначала узнайте о библиотеке синтаксического анализа, но это решение может быть хорошим. Я буду искать больше, потому что я действительно не знаю, насколько хорошо он интегрирован с яблоком, как пример для примера при обновлении приложения, когда вам нужно перенести userPreferences в новое приложение. – Aaleks

+0

Библиотека синтаксического анализа очень хорошо интегрирована с iOS. Библиотека поддерживается Facebook, так как они купили ее год назад (или больше). Пожалуйста, сообщите нам, если вам удастся это сделать. – archipestre

+0

Я читал о облачном комплекте, может быть, это лучшее решение? Это кажется очень простым в использовании – Aaleks

Смежные вопросы