РЕДАКТИРОВАТЬ: Пока что лучшее, что я смог придумать, - это всплывающее окно с просьбой отключить синхронизацию iCloud вместе с перемещением всех данные в каталог Documents, чтобы они не стирались: Можно ли в iOS5 определить, есть ли у пользователя приложение для резервного копирования?
Я разрабатываю автономное картографическое приложение для iPhone / iPad.
Раньше мы хранили все данные (потенциально много концертов) в каталоге Caches.
Начиная с iOS5, файлы в каталоге Caches могут быть удалены случайным образом, когда жесткий диск пользователя начинает заполняться.
Как я могу хранить локальные данные без их синхронизации с iCloud, iTunes и без их случайного удаления? Мои локальные данные - это большое дерево каталогов с множеством небольших файлов данных в тысячах подкаталогов.
Я переместил наше дерево каталогов из каталога кэша библиотеки в каталог data.nosync в каталоге документов, потому что мы читали, что это может быть решением. Однако данные в папке nosync по-прежнему копируются в iCloud.
Вот сейчас я создаю каталог:
NSString* noSyncDirectory() {
static NSString *directory = nil;
if (!directory) {
directory = [[NSString stringWithFormat:@"%@/%@",
documentsDirectory(), @"data.nosync"] retain];
[Constants createDirectoryIfNeeded:directory];
}
return directory;
}