2013-07-29 5 views
5

Ho creato un costume profondo-linking schema URL iOS per la mia app, e ascolto per essa incombinazione personalizzata URL per iOS App quando non backgrounding

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { 

ho analizzare l'URL e inviare una notifica tramite NSNotificationCenter, con l'URL come oggetto, nella classe appropriata per gestire l'URL.

Questo funziona perfettamente quando l'app è "in background", ma quando l'app è completamente chiusa dal multitasking, sembra che la notifica non venga mai inviata (o ricevuta). Mi manca qualcosa sul processo di notifica quando l'app non è in background? C'è un altro modo per passare le informazioni dall'URL? O c'è almeno un modo per dire se l'app sta uscendo dal backgrounding o se è un nuovo lancio?

Grazie!

+1

Suggerirei guardando 'applicationDidFinishLaunching: withOptions:'. Le notifiche devono essere fornite nel dizionario delle opzioni di avvio. http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html –

+0

Assicurati di restituire 'YES' da' application: willFinishLaunchingWithOptions: 'e' application: didFinishLaunchingWithOptions: ' . Se restituisce "NO", il metodo "application: openURL: sourceApplication: annotation:" non verrà richiamato all'avvio dell'app. – rmaddy

+0

@rmaddy entrambi stanno restituendo SI, 'applicazione: openURL: sourceApplication: annotation:' viene chiamato, ma la notifica non viene passata – JeffN

risposta