2015-08-10 15 views
17

iOS 9's [UIPasteboard generalPasteboard].string diventerà nullo quando l'app è in background con un'attività in background o widget di oggi.iOS 9 UIPasteboard non funzionerà in background

Non è più possibile recuperare il testo degli appunti sullo sfondo?

+0

Sto anche avendo questo problema, tranne cercando di ottenere il .image [UIPasteboard generalPasteboard] è anche il ritorno nullo. Questo rende l'applicazione per l'estensione della tastiera abbastanza inutile ora. Sperando che questo sia un bug o una soluzione si trova prima della vera versione di iOS 9. – rob1302

+0

Non sono sicuro che tu abbia visto questo post sullo stesso problema, la gente sta dicendo che potrebbe essere un bug introdotto nella Beta 5. [Incollare Bug] (http://stackoverflow.com/questions/31885220/uipasteboard-string -returning-null-from-today-extension) – rob1302

+0

Sto ricevendo ": Non consentire l'accesso di bundle ID (myapp.bundleid) al pasteboard mentre non è in primo piano" nella console del dispositivo. Penso che in iOS 9 non sarà possibile ottenere i dati del pasteboard in background. –

risposta

1

Potete spiegare dove si avvia generalPasteboard ?.

Questo è quello che vorrei fare:

Nel metodo applicationdidBecomeActive tua app delegato messo in questo codice:

[[NSNotificationCenter defaultCenter] postNotificationName:@"appDidBecomeActive" object:nil]; 

Avanti, nella vostra attuale metodo init attiva del controller della vista iscriversi alla notifica.

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(returnFromBg)   
              name:@"appDidBecomeActive" 
              object:nil]; 

- (void)returnFromBg { 
     UIPasteboard *appPasteBoard = [UIPasteboard generalPasteboard]; 
     yourTextField.text = [appPasteBoard string; 
} 

PS Non ha dimenticato di rimuovere l'osservatore quando il controller della vista viene rimosso:

[[NSNotificationCenter defaultCenter] removeObserver:self];