2015-12-09 2 views
1

Salut à tous les utilisateurs CloudKit:Cloudkit: CKDatabaseOperation cellulaire ne fonctionne pas sur

J'ai eu horreur d'essayer de savoir pourquoi CKDatabaseOperation ne comporteraient pas de commentaires. Aucune erreur, aucun rappel lors de la sauvegarde CKRecords sur cellulaire.

Pourriez-vous s'il vous plaît me faire savoir quelle est votre opinion à ce sujet?

+0

double possible de [iOS 9 CloudKit: requête ne renvoie rien quand il est connecté au réseau cellulaire] (http://stackoverflow.com/questions/32493698/ios-9-cloudkit-query-does-not-return-anything-while -connected-to-cellular-netwo) – rmaddy

Répondre

5

Quelqu'un dans les forums de développeurs d'Apple a trouvé une solution: https://forums.developer.apple.com/thread/20047

la magie se produit lors de la mise qualityOfService = .UserInitiated

Exemple:

let publicDB = CKContainer.defaultContainer().publicCloudDatabase  
let operation = CKModifyRecordsOperation(recordsToSave: [aRecord], recordIDsToDelete: nil) 

operation.allowsCellularAccess = true 
operation.qualityOfService = .UserInitiated // <----- THATS THE CELLULAR FIX 

operation.perRecordProgressBlock = {(record, progress) in 
    print("Progress: \(Int(progress*100.0))%") 
} 
operation.perRecordCompletionBlock = {(record, error) in 
    print("Upload complete") //Add awesome error handling here 
} 
publicDB.addOperation(operation)