Se provo sottoscrivere CloudKit con questo codice:abbonamento CloudKit a volte non funziona
NSPredicate *truePredicate = [NSPredicate predicateWithValue:YES];
CKSubscription *itemSubscription = [[CKSubscription alloc] initWithRecordType:RecordType
predicate:truePredicate
options:CKSubscriptionOptionsFiresOnRecordCreation | CKSubscriptionOptionsFiresOnRecordUpdate | CKSubscriptionOptionsFiresOnRecordDeletion];
CKNotificationInfo *notification = [[CKNotificationInfo alloc] init];
notification.alertBody = @"Item Added/Updated/Deleted!";
itemSubscription.notificationInfo = notification;
[self.publicDatabase saveSubscription:itemSubscription completionHandler:^(CKSubscription *subscription, NSError *error) {
if (error) {
// In your app, handle this error appropriately.
NSLog(@"An error occured in %@: %@", NSStringFromSelector(_cmd), error);
} else {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:subscription.subscriptionID forKey:kSubscriptionID];
[defaults synchronize];
}
}];
volte ottengo questo errore:
CKError 0x17558460: "Server ha respinto la richiesta" (15/2000); messaggio server = "Errore interno del server"; uuid = B89DE7A4-9D22-42BC-9CD4-4330F3FE04EF; Contenitore ID = "iCloud.com.app.testApp"
o
CKError 0x14fb3510: "Servizio non disponibile" (6/2022); messaggio server = "impossibile installare lo schema, CAS fallito"; uuid = F562D1AD-B40E-4842-A5EA-2A5F800C18F2; ID contenitore = "iCloud.com.app.testApp"
Qualcuno sa come risolvere il problema? Posso fare qualcosa con il mio codice? Questo è un problema di Apple e non posso fare nulla? Grazie.
Ho avuto il primo errore in precedenza, dove appare improvvisamente per alcune ore, e se ne è andato dopo. Questo era un problema con il server di Apple. Ma se il problema non scompare, probabilmente è tuo. – honcheng
per il secondo errore, hai già creato il tipo di record prima di iscriverti ad esso? – honcheng
sì, ho il tipo di registrazione. –