2012-11-19 131 views
6

當我的iPhone應用程序在它響應罰款後臺運行啓動關閉iOS應用程序從本地通知

- (void)application:(UIApplication *)application didReceiveLocalNotification: 
    (UILocalNotification *)notification 

但是當應用程序關閉它崩潰,並給出了SIGKILL錯誤。

如何在應用程序內運行方法,如果它在收到通知時關閉?

回答

1

當收到本地通知時,您無法在應用程序中運行方法。通知可以提供警報,圖標徽章號碼和聲音的任意組合(< 30秒)。

當通過通知或其他方式再次進入前景時,您可以運行該方法。

當應用程序在後臺時,它將在恢復之前調用applicationWillEnterForeground:。您可以重寫此方法來處理通知後需要的任何內容。您可以覆蓋applicationDidEnterBackground:以確定您的應用何時實際進入背景。當應用程序收到通知但在前臺時調用方法application:didReceiveLocalNotification:。當應用處於前臺時,警報,圖標徽章號碼和聲音不會被觸發。

5

當你的應用程序關閉,然後當你得到通知,而不是點擊通知- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法被調用。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

    UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; 

    if (localNotif) 
{ 
    // code here. 
} 
相關問題