2014-11-25 18 views
5

Ogni volta che provo a registrare l'abbonamento, viene visualizzato l'errore: CKError 0x19030580: "Service Unavailable" (6/2022); server message = "refused to install an older schema (68f93710-7456-11e4-b13e-008cfac0c800) since we already have 693359e0-7456-11e4-8e42-008cfac03128"; uuid = 42F42F6B-98FB-4774-B735-271C1AEF07F1; container ID = "iCloud.com.*.*". E quando provo a ottenere tutte le sottoscrizioni presenti sul server, non ricevo nulla.Impossibile registrare abbonamenti; CKError 0x19030580, "Servizio non disponibile"

Perché sto ricevendo CKError 0x19030580? Perché non riesco a recuperare gli abbonamenti? Come dovrei risolverli?


Codice:

NSPredicate *truePredicate = [NSPredicate predicateWithValue:YES]; 
    CKSubscription *itemSubscription = [[CKSubscription alloc] initWithRecordType:ItemAssetRecordType 
                     predicate:truePredicate 
                      options:CKSubscriptionOptionsFiresOnRecordCreation | CKSubscriptionOptionsFiresOnRecordUpdate]; 


    CKNotificationInfo *notification = [[CKNotificationInfo alloc] init]; 
    notification.shouldSendContentAvailable = YES; 

    notification.alertLocalizationKey = @"New Item available."; 
    notification.shouldBadge = NO; 

    itemSubscription.notificationInfo = notification; 

    [self.privateDatabase saveSubscription:itemSubscription completionHandler:^(CKSubscription *subscription, NSError *error) { 
     if (error) { 

     } else { 
      self.subscribedItems = subscription.subscriptionID; 
     } 
    }]; 
+0

Quindi la gente è chiara: * "... quando cerco di ottenere tutte le sottoscrizioni presenti sul server, non ricevo nulla" * - significa che ha successo, ma non si ottiene nulla indietro? Oppure fallisce con un errore? – jww

risposta

7

ho problema simile. Uno dei miei dischi continua a non essere caricato. Si è verificato un simile errore "rifiutato di installare uno schema precedente". Innanzitutto, ho pensato che fosse nel mio codice, 2-3 giorni provo a risolverlo, ma niente.

Quindi provo a ripristinare il contenitore di sviluppo iCloud (tramite la dashboard di iCloud). Rendi di nuovo i record. Quindi prova ad eseguirlo di nuovo. E funziona.

Penso che sia un bug da parte di Apple. A proposito, i miei record interessati non sono però iscritti. Ma potresti volerlo provare.

Suggerimenti, si consiglia di verificare se l'app è già stata sottoscritta prima di iscriversi. Ho salvato subscriptionID mentre eseguivo il metodo di iscrizione chiamato NSUserDefaults. Quindi lo rimuovo se viene chiamato il metodo di annullamento dell'iscrizione.

+0

sì funziona! grazie! – shle2821

1

Ho avuto lo stesso errore "ha rifiutato di installare uno schema precedente" ma con scritture semplici, non con sottoscrizioni. Nel mio caso stavo scrivendo un disco con un campo che non esisteva. Ora pensavo che quando sotto l'ambiente di sviluppo lo schema aggiungeva automaticamente nuovi tipi di campo - ma comunque, quando l'ho aggiunto manualmente usando la dashboard ha funzionato.

0

CloudKit invia CKError.serviceUnavailable quando l'utente ha disabilitato iCloud Drive sul proprio dispositivo.

+0

Ho iCloud Drive acceso e continuo a ricevere questo errore. –

Problemi correlati