Подтвердить что ты не робот

IOS 5.0.1: Как проверить, что папка отмечена как "Не создавать резервные копии" для iCloud?

Я хочу установить Do not back up в мою папку, которая находится в Document Directory.

Я нашел код для "Не создавать резервные копии" , но как я могу проверить, что папка отмечена.

4b9b3361

Ответ 1

В соответствии с документами, которые вы связали, если вы настроили метод точно, как они были указаны на этой странице, метод вернет YES, если атрибут будет помечен правильно.

Ответ 2

Для iOS 5.1 запустите приложение в симуляторе и выполните следующую команду в терминале:

xattr {filename}

Вы должны увидеть следующее, если элемент правильно помечен для исключения:

com.apple.metadata:com_apple_backup_excludeItem 

Ответ 3

  • открытый симулятор
  • удалите приложение (команда проверки приложений запускает код через 1 раз, поэтому обязательно начинайте с нуля).
  • теперь запустите свой код в симуляторе, ваш код сохранит ваши файлы на вашем жестком диске.
  • открыть терминал
  • cd/Пользователи/(имя пользователя)/Library/Поддержка приложений /iPhone Simulator/(версия ios)/Приложения
  • Ls
  • вам будет представлен список случайных имен папок, откройте каждый, пока вы не найдете папку своего приложения
  • для файла в $(find *); do du -sk $file; xattr -l $file; эхо; Готово
  • вам будут представлены все файлы в приложении в формате..

    (filesize) (имя файла)
    (исключение для резервирования iCloud)

ПРИМЕЧАНИЕ. Если ничего не указано, это означает, что файл будет скопирован (если он находится в папке "Библиотека" или "Документы" ). Если вместо этого вы видите "com.apple.metadata: com_apple_backup_excludeItem: com.apple.MobileBackup", тогда вам хорошо идти.

Ответ 4

Запустите приложение в симуляторе, затем используйте терминал для запуска этой команды с соответствующими файлами:

xattr -plxv com.apple.MobileBackup <file name>

Ответ 5

Для iOS 5.1 или более поздней версии этот код отлично работает для меня.

   - (BOOL)addSkipBackupAttributeToItemAtPath:(NSString *)filePathString {
        NSURL *fileURL =
        [NSURL fileURLWithPath:filePathString];

        assert([[NSFileManager defaultManager] 
        fileExistsAtPath: [fileURL path]]);

        NSError *error = nil;

        BOOL success = [fileURL setResourceValue:[NSNumber numberWithBool:YES]
                                      forKey:NSURLIsExcludedFromBackupKey
                                     error:&error];
        return success;
    }