Привет, я собираюсь отправить свое приложение в магазин приложений. Я прочитал, что есть несколько изменений в правилах хранения данных Apple, поскольку введено хранилище iCloud. Я сохранял все данные пользователя в каталоге документов приложений, поскольку содержимое каталога документов автоматически поддерживается. до iCould, если он включен, я думаю переместить их в каталог библиотеки приложений. Утверждено ли сохранять содержимое в библиотеке с учетом рекомендаций Apple по хранению данных? Если нет, где сохранить данные? Пожалуйста помоги.
iPhone: Где сохранить данные пользователей, когда резервное копирование icloud не требуется
Ответы (2)
У вас есть два основных варианта:
- Поместите свои файлы в каталог Cache, тогда они не будут создавать резервные копии, и Apple не отклонит ваше приложение. Однако, когда в iOS 5 не хватает места, она может удалить все находящиеся там файлы.
- Поместите файлы в Документы, но пометьте их, чтобы они не копировались. Есть техническое примечание (QA1719) о том, как это сделать. Это работает только в iOS 5.0.1 и более поздних версиях.
person
Stephen Darlington
schedule
03.01.2012
Вы можете поместить данные в папку «Документы», но перед сохранением в папке «Документы» создайте папку в папке «Документы», например, temp. Затем напишите следующий код, чтобы не выполнять резервное копирование в iCloud.
[[NSFileManager defaultManager] createDirectoryAtPath:temp
withIntermediateDirectories:NO
attributes:nil
error:nil];
NSURL *dbURLPath = [NSURL URLWithString:temp];
[self addSkipBackupAttributeToItemAtURL:dbURLPath];
Также реализуйте метод addSkipBackupAttributeToItemAtURL не забудьте включить
#include <sys/xattr.h>
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL {
const char* filePath = [[URL path] fileSystemRepresentation];
const char* attrName = "com.apple.MobileBackup";
u_int8_t attrValue = 1;
int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
return result == 0;
}
person
Rajesh
schedule
03.01.2012