2014-10-17 12 views
5

Ho provato di tutto e leggere tutti gli argomenti, ma non riesco a scoprire perché NSUbiquitousKeyValueStore non viene memorizzato su iCloud.NSUbiquitousKeyValueStore non sincronizzato con iCloud

• Creato uno specifico ID App

• Enabled iCloud per questo ID App

• Creato Provisioning Profilo

• Attivare iCloud sul Progetto

• Setup diritti alle Valore chiave : $ (TeamIdentifierPrefix) $ (CFBundleIdentifier) ​​

• Acceso iCloud Drive sul dispositivo

Ma NSUbiquitousKeyValueStore sta salvando solo localmente. Quando reinstalla l'app, non riceve informazioni da iCloud.

Questo è il modo che sto cercando:

NSUbiquitousKeyValueStore *cloudStore = [NSUbiquitousKeyValueStore defaultStore]; 

if ([[cloudStore stringForKey:@"testString"] length] == 0) { 
    NSLog(@"Nothing in iCloud - setting a value..."); 
    [cloudStore setString:@"I'm live in iCloud!" forKey:@"testString"]; 
    [cloudStore synchronize]; 
    [[NSUbiquitousKeyValueStore defaultStore] synchronize]; 

} else { 
    NSString *result = [cloudStore stringForKey:@"testString"]; 
    NSLog(@"Found something in iCloud - here it is: %@", result); 
} 

[self registerForiCloudNotificatons]; 

Se cancello l'applicazione o provare un nuovo dispositivo non trova nulla sul iCloud.

Così ho provato questo per scoprire se iCloud sta lavorando:

NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]; 
if (ubiq) { 
    NSLog(@"iCloud at %@", ubiq); 

} else { 
    NSLog(@"No iCloud access, %@", ubiq); 
} 

E questo ritorno sempre "no iCloud accesso" e io non riesco a capire perché. Qualunque cosa faccia URLForUbiquityContainerIdentifier restituisce sempre nil.

Sono in esecuzione su dispositivi iOS 8 con iCloud abilitato.

mi sto perdendo qualcosa?

Grazie!

+3

Dopo giorni in cui mi sono trovato in difficoltà, ho effettuato una semplice disconnessione da iCloud e di nuovo l'accesso. Ora funziona tutto ... URLForUbiquityContainerIdentifier restituisce ancora nil, quindi non posso controllare se iCloud è attivo o meno, ma almeno è la sincronizzazione e il salvataggio dei dati nel cloud. – tomDev

risposta

3

Ho avuto lo stesso problema. La disconnessione e il back sul mio account iCloud sul dispositivo l'hanno risolto anche per me.

Questo problema sembra comparire quando l'app è stata installata con lo stesso identificativo del gruppo sul dispositivo prima del per le autorizzazioni iCloud attivate. Ho avuto questo problema su 2 dispositivi di test. Un terzo dispositivo su cui ho installato l'app la prima volta con iCloud abilitato, non ha creato problemi.