2015-08-06 3 views
3

Моего приложения получило отклонены по следующей причине:Сохранение данных на диск на прошивке

App Review 
1.0 Binary Rejected August 5, 2015 
2.23 Details On launch and content download, your app stores 9.51 MB on the user's iCloud, which does not comply with the iOS Data Storage 

Насколько я понимаю (поправьте меня, если я ошибаюсь), это потому, что я сохраняю слишком много на NSUserDefaults (я не» t сохранить в другом месте).

Так вот мой вопрос: Есть ли быстрый и простой способ сохранить данные локально (похож на NSUserDefaults, но не в конечном итоге экономит на «ICloud пользователя», вместо того, чтобы использовать CoreData

+2

Да, это довольно объем информации для сохранения в 'NSUserDefaults', а что же _serializing_ ваши данные в папку' Documents' вместо этого? это было бы вполне очевидным выбором в вашем случае ... это может быть вашим окончательным руководством для достижения этого: https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Archiving/Archiving.html – holex

ответ

2

Да, есть способ? . Вы можете хранить ваши данные, используя NSKeyedArchiver и NSKeyedUnarchiver NSKeyedArchiver используется для сохранения данных пример:..

[NSKeyedArchiver archiveRootObject:counters toFile:filePath]; 

Расширение filePath должно быть .plist; counters в этот случай представляет собой массив.

NSKeyedUnarchiver Используется для загрузки данных. Пример:

if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { 
    counters = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath]; 
} 

Если вы хотите сохранить свой собственный класс, вам нужно реализовать NSCoding протокол.

+0

Ok здорово, теперь я могу использовать что-то вроде: пусть тропинки = NSSearchPathForDirectoriesInDomains (.DocumentDirectory, .UserDomainMask, правда) пусть documentsDirectory = пути [0] в качестве строки пусть имя_файла = "\ (documentsDirectory)/file1" для " 'filename'"? – Eilon

+0

Да, это должно сработать. Если нет, попробуйте поместить '.plist' в конец пути. – Randex

+0

Хорошо, вообще-то мое приложение не будет отклонено, если я сохраню так много в каталоге документов? – Eilon

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