Il widget di oggi viene disegnato correttamente quando viene aggiunto alla vista di oggi. Ma se l'utente ci ritorna in un secondo momento, la funzione viewDidLoad non viene chiamata e sta visualizzando dati non aggiornati. Dovrebbe viewDidLoad essere chiamato ogni volta? Esiste un bug di iOS 9/Xcode 7 beta 6?iOS 9 Oggi Widget non chiama viewDidLoad
Modifica: Aggiunto che widgetPerformUpdateWithCompletionHandler non chiamato. Ho i punti di interruzione impostati e funzioni di stampa
func widgetPerformUpdateWithCompletionHandler(completionHandler: ((NCUpdateResult) -> Void)) {
print("in widgetPerformUpdateWithCompletionHandler")
fetch()
completionHandler(NCUpdateResult.NewData)
}
Non ho mai lavorato con i widget ma normalmente 'viewDidAppear' viene chiamato ogni volta che viene presentata una schermata,' viewDidLoad' viene chiamato solo quando la vista è inizialmente caricata. –
Non stai usando 'widgetPerformUpdateWithCompletionHandler:' vedi [qui] (https://developer.apple.com/library/ios/documentation/NotificationCenter/Reference/NCWidgetProviding_Protocol/index.html#//apple_ref/occ/intfm/NCWidgetProviding/ widgetPerformUpdateWithCompletionHandler :) – soulshined
Ho lo stesso problema. 'widgetPerformUpdateWithCompletionHandler' veniva chiamato ogni volta che veniva visualizzato il widget. iOS9 chiama questo metodo molto meno. Ma non ho trovato alcuna documentazione su questo cambiamento. –