2012-06-22 4 views
8

Apple, тестеры были отвергнуты наше приложение из-за нарушения руководящего положения:NSUserDefaults вызывает приложение отклонять

[2.23 приложения должны следовать Руководство IOS данных для хранения или они будут отклонены]

Поскольку мы имеем сохранили наши файлы базы данных без флага NSURLIsExcludedFromBackupKey - он был резерв в iCloud - и вызвал отклонение.

Итак, мы добавили флаг NSURLIsExcludedFromBackupKey к нашим файлам и уменьшили объем данных, хранящихся в iCloud.

НО - мы поняли, что NSUserDefaults также занимает некоторое пространство в iCloud. Мы используем [NSUserDefaults standardUserDefaults], и у нас нет большого контроля над ним.

Если мы идем в device->settings->iCloud->Storage & BackUP->Manage Storage, мы можем видеть, что наше приложение все еще занимает 0,5 кбайт данных в ICloud, из-за использования NSUserDefaults. (удаление использования NSUserDefaults в коде уменьшится на 0 - нет данных)

Будет ли Apple отказаться наше приложение снова для NSUserDefaults принимает данные в ICloud?

+0

Нет, ожидается, что приложения будут использовать 'NSUserDefaults', сколько места занимали ваши другие файлы и где они были сохранены? – danielbeard

+0

Приложение использовало 2,4 МБ пространства. Теперь он занимает от 0,4 до 0,8 кв. – igoren

+0

Теперь я вижу предупреждение в коде: ПРЕДУПРЕЖДЕНИЕ. Фаза сборки экземпляра Copy Bundle содержит файл Donno-Info.plist этой цели «Donno-Info.plist». Я вижу, что он скопировал слой из пучка. Мы уже отправили приложение Apple именно так, как вы думаете, они отклонят приложение по этой причине? (это может удвоить количество пространства NSUserDefaults). – igoren

ответ

3

Вы можете использовать любое количество данных в NSUserDefaults в своем приложении, и вы не получите отказ. Я не уверен, что для него максимальные данные, но я не помню, как Apple указала ограничение. Тем не менее, существует ограничение на настройки по умолчанию iCloud. Вы можете создать резервную копию своих NSUserDefaults в iCloud, но существует строгий предел 1Mb для данных, сохраненных там. Поэтому помните о том, насколько велики ваши данные при сохранении там.

+1

Но NSUserDefaults также не предназначен для произвольного хранения данных. Он предназначен только для настроек и настроек. – uchuugaka

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