iCloud: могу ли я игнорировать тех, кто отключает iCloud?

Я немного борюсь с идеей iCloud и разместил более общий вопрос здесь . Моя самая большая проблема - решить, следует ли мне перестать помещать данные пользователя в старую добрую папку документов, которая находится в песочнице приложения. Чтобы проиллюстрировать мою проблему:

enter image description here

Документы не дают ответа, насколько я могу судить. Предположим, у меня есть приложение, которое обрабатывает разные текстовые файлы. Как только я запускаю свое приложение, я просто проверяю, есть ли какие-либо текстовые файлы в облаке, вот так:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSLog(@"AppDelegate: app did finish launching");
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];

    // (1) iCloud: init

    NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
    if (ubiq) {
        NSLog(@"User has iCloud enabled! Let's get the txt files from the cloud.");
        [self loadDocument];
    } else {
        NSLog(@"User doesn't have iCloud enabled. App is thus worthless.");
    }


    return YES;
}

Затем у меня есть метод, чтобы проверить, есть ли какие-либо текстовые файлы в облаке, и, если да, загрузить их. Если нет, я просто создаю новые текстовые файлы в облаке.

Это означает, что приложение не хранит никаких данных в папке с документами.Насколько я понимаю, все находится либо в локальном хранилище iCloud моего устройства (которое также доступно, если пользователь находится в автономном режиме), либо в облаке. Таким образом, текстовый файл существует в двух местах: на моем устройстве и в облаке.

Так что нет необходимости хранить третью копию в моей локальной папке с документами, верно? Или это важно по какой-то причине, которую я упустил из виду? Другими словами, для чего мне использовать локальную папку документов, если я предлагаю своим пользователям iCloud? (И могу ли я просто игнорировать тех, кто не подписывается на iCloud?)


РЕДАКТИРОВАТЬ: Просто чтобы уточнить, когда я говорю о стандартной папке документов в песочнице приложения, я имею в виду эту:

NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];

8
задан Community 23 May 2017 в 12:00
поделиться