2015-08-04 8 views
7

sto testando il codice che richiede la reperibilità tramite CloudKit:reset CloudKit Discoverability permesso

CKContainer.defaultContainer().requestApplicationPermission(CKApplicationPermissions.PermissionUserDiscoverability, completionHandler: { (status:CKApplicationPermissionStatus, error:NSError!) -> Void in 
     if status == CKApplicationPermissionStatus.Granted { 
      ... 
     } else if status == CKApplicationPermissionStatus.Denied { 
      .... 
     } else { 
      println("Request result: \(status)") 
     } 
    }) 

Ma come faccio a ripristinare il risultato di questo? Mi viene richiesto una volta e mai più, anche se cancello e reinstallo l'app. Se eseguo nuovamente questo codice, arrivo immediatamente al blocco di completamento con lo stesso risultato dell'ultima volta.

Ho visto another question e un post on Apple's old forums (accesso richiesto) che diceva che poteva essere ripristinato andando in Impostazioni -> iCloud -> Unità iCloud -> Cercami tramite e-mail. Tuttavia farlo non mi dà alcuna possibilità di fare nulla:

Look Me Up By Email screen

Sono sicuro che avrei potuto ripristinarlo da qualcosa come Impostazioni -> Generali -> Ripristina -> Ripristina impostazioni (o forse Ripristina impostazioni di rete) [ma vedi ulteriori informazioni su questo], ma ci deve essere un modo per ripristinare il permesso di CloudKit senza mettere a tacere un sacco di impostazioni non correlate. Cosa succede se un utente nega il permesso ma in seguito cambia idea?

Aggiornamento: Alcune informazioni aggiuntive:

  • sul simulatore, Impostazioni -> Generali -> Rest -> Ripristina posizione & privata non ha alcun effetto.
  • Anche sul simulatore, "Resetta contenuto e impostazioni ..." non ha alcun effetto.
  • Provare su un Mac diverso, con un dispositivo diverso, produce esattamente gli stessi risultati.

Quanto sopra mi induce a sospettare che si tratti di un'impostazione lato server. Così ho provato ad accedere a iCloud.com con l'account che sto usando, e sono andato su Impostazioni -> Data & Sicurezza -> Cercami tramite e-mail. Come su dispositivi iOS e simulatori, non esiste alcuna opzione lì per fare qualcosa a tutti:

Look Me Up By Email at iCloud.com

Quindi, c'è alcun modo a tutti per ripristinare questo, o è fissato in pietra e immutabile fino il sole espande e distrugge la Terra?

risposta

3

Le impostazioni di "Look Me Up By Email" attualmente mostrano solo le tue preferenze nell'ambiente di produzione. Se la tua app è in esecuzione nell'ambiente di sviluppo, non è possibile ripristinare tali impostazioni al momento. Hai ragione che l'impostazione è memorizzata sul server.

Questo è un bug noto. Fino a quando non viene risolto, è necessario testare questa funzione mentre l'app viene distribuita per la produzione. È possibile creare un secondo contenitore da utilizzare per testarlo se si desidera evitare i test nel contenitore di produzione dell'app di spedizione.

0

unico modo che ho trovato è reseting ambiente di sviluppo da CloudKit cruscotto, app chiedere il permesso ancora una volta, questo cancellerà tutti i dati anche se

3

Prima che il sole si espande e distrugge la terra, questa impostazione può essere resettato come segue :

  • registro nella vostra Dashboard CloudKit
  • selezionare contenitore della tua app
  • selezionare il vostro ambiente Development
  • fare clic sulla scheda Deployment a sinistra, sotto Admin
  • fare clic sul pulsante Reset Development Environment in alto a destra.

(Queste istruzioni funzionano solo per l'ambiente Development.)

+1

Questo ha fatto il trucco per me, grazie! –