2013-07-29 16 views
5

mam skonfigurować zwyczaj głębokie powiązanie iOS schematu URL dla mojego app, i słuchać go wNiestandardowy schemat URL dla systemu iOS, gdy nie jest w tło

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

I analizować adres URL i wysłać zgłoszenie za pomocą NSNotificationCenter, z adresem URL jako obiektem, do odpowiedniej klasy obsługującej adres URL.

To wszystko działa doskonale, gdy aplikacja jest "w tle", ale gdy aplikacja jest całkowicie zamknięta z powodu wielozadaniowości, wydaje się, że powiadomienie nigdy nie zostanie wysłane (lub otrzymane). Czy brakuje mi czegoś na temat procesu powiadomień, gdy aplikacja nie działa w tle? Czy istnieje inny sposób przekazywania informacji z adresu URL? A może jest jakiś sposób, aby powiedzieć, czy aplikacja wychodzi z tła lub czy jest to nowe uruchomienie?

Dzięki!

+1

Polecam patrząc na 'applicationDidFinishLaunching: withOptions: '. Powiadomienia powinny być dostarczane w słowniku opcji uruchamiania. http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html –

+0

Upewnij się, że zwróciłeś 'TAK' z' application: willFinishLaunchingWithOptions: 'i' application: didFinishLaunchingWithOptions: ' . Jeśli zwróci 'NO', wówczas metoda' application: openURL: sourceApplication: adnotation: 'nie zostanie wywołana podczas uruchamiania aplikacji. – rmaddy

+0

@rmaddy oba wracają TAK, "aplikacja: openURL: sourceApplication: adnotacja:" jest wywoływana, ale powiadomienie nie jest przekazywane – JeffN

Odpowiedz