Почему мое приложение было отклонено после исключения файлов из резервной копии iCloud с использованием этого кода?

Я добавил следующий код, чтобы исключить файлы из резервной копии iCloud, но мое приложение все равно было отклонено:

   - (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
    if (&NSURLIsExcludedFromBackupKey == nil) { // iOS <= 5.0.1
        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;
    } else { // iOS >= 5.1


        NSLog(@"%d",[URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:nil]);
        return [URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:nil];
    }
}

и я передал следующий URL в качестве NSURL, в случае симулятора:

file:///Users/TEST/Library/Application%20Support/iPhone%20Simulator/5.1/Applications/62854BAB-AB51-4771-895F-28C61983A7AC/Documents/MyFolder"

Кто-нибудь может подсказать, где моя ошибка в этом?

 Mitesh Khatri12 мая 2012 г., 20:05
Спасибо @JackyBoy за информацию. сейчас его 57%. Хорошо сейчас?
 Rui Peres12 мая 2012 г., 20:14
Я говорю это, потому что люди будут помогать вам больше.
 Rui Peres12 мая 2012 г., 20:37
Извини, Майк, не могу. знак равно
 Mitesh Khatri12 мая 2012 г., 20:16
Вы можете дать мне ответ на мой вопрос. это очень срочно.

Ответы на вопрос(2)

Решение Вопроса

Даже если вы храните свои данные в папке, эти данные по-прежнему две вещи

In the documents folder, so it will be syncs The Folder is Associated with your App

Чтобы решить эту проблему, вам нужно сохранить его в / Library вместо / Documents

Таким образом, ваш URL будет

file:///Users/TEST/Library/Application%20Support/iPhone%20Simulator/5.1/Applications/62854BAB-AB51-4771-895F-28C61983A7AC/Library/MyFolder

Сохранение несинхронизируемых данных или просто любых внешних данных в папке «Библиотека» - новое предпочтение Apple, поскольку был реализован iCloud

 07 янв. 2015 г., 06:32
@ justdan0227 В то время, когда я писал этот ответ (почти 3 года назад), который был предпочтением Apple, если вы храните что-то, что было изменено пользователем, оно должно храниться в Документах, поскольку обычно вы хотите, чтобы оно синхронизировалось между устройствами. , Хранение данных в библиотеке, чтобы они не синхронизировались, было приемлемым во время отправки ответа
 30 дек. 2014 г., 17:32
Apple отклонила мое приложение, если я поместил его в папку библиотеки. Если вы посмотрите на документацию, в которой написано «Используйте подкаталоги Библиотеки для любых файлов, которые вы не хотите показывать пользователю. Ваше приложение не должно использовать эти каталоги для файлов пользовательских данных. & Quot; Я обнаружил, что мне нужно былоNSURL *url = [NSURL URLWithString:filename]; [url setResourceValue: [ NSNumber numberWithBool: YES ] forKey: NSURLIsExcludedFromBackupKey error: nil ];

Вы уверены, что все файлы / папки получают правильно установленные флаги?

Вы можете сделать это с помощью команды терминала - & gt; ls -al- @

Ваш ответ на вопрос