2015-01-07 3 views
4

Симулятор находится в iOS8.1, и я использую Xcode 6.1.1.URLForUbiquityContainerIdentifier всегда возвращает nil

Я попытался решения из нескольких различных источников:

И ничего не работает. Моя установка:

Entitlements и возможности: enter image description here

enter image description here

Код:

dispatch_async(dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) { 
    NSURL *myContainer = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]; 

    // unarchive journal object from iCloud 
    if (myContainer != nil) { 
     NSString *filePath = [NSString stringWithFormat:@"%@/%@", myContainer.path, ARCHIVE_FILE_NAME]; 
     self.journal = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath]; 

     // initialize journal from local storage if there's no iCloud archive 
     if (self.journal == nil) 
      [self initJournalFromLocalStorage]; 
     else 
      [self.journal validateUserDefines]; 

     self.journal.cloudURL = myContainer; 

     dispatch_async (dispatch_get_main_queue(), ^(void) { 
      // On the main thread, update UI and state as appropriate 
     }); 
    } 
}); 

Мой идентификатор Apple позволила ICloud как для развития и распространения; и я попытался создать и загрузить новый профиль подготовки.

Я также попытался изменить iCloud. $ (CFBundleIdentifier) ​​в $ (TeamIdentifierPrefix) $ (CFBundleIdentifier) ​​в .ents.

Независимо от того, что я делаю, URLForUbiquityContainerIdentifier всегда возвращает nil. Любая помощь приветствуется!

+0

Проведите тестирование iCloud на реальном устройстве, а не в симуляторе. – rmaddy

ответ

7

У вас включен iCloud Drive на симуляторе?

Из моего собственного тестирования URLForUbiquityContainerIdentifier всегда возвращает nil, если iCloud Drive отключен с помощью iOS 8.1 Simulator. Однако, если вы тестируете устройство с той же настройкой, оно вернет действительное значение. Аналогично, если iCloud Drive включен, тогда симулятор вернет правильное значение. Если вы не хотите включать iCloud Drive, тогда нет никакого обходного пути, кроме тестирования на реальном устройстве.

+0

Работал отлично, спасибо! – cohenadair

Смежные вопросы