2012-11-19 36 views
6

Khi ứng dụng iOS của tôi đang chạy trong nền nó đáp ứng tốt đểLaunch Closed iOS App Từ Notification Local

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

nhưng khi ứng dụng được đóng nó bị treo và đưa ra một SIGKILL lỗi.

Làm cách nào để chạy một phương thức trong ứng dụng nếu nó được đóng khi nhận được thông báo?

Trả lời

1

Bạn không thể chạy phương thức trong ứng dụng khi nhận được thông báo địa phương. Thông báo có thể cung cấp bất kỳ kết hợp nào của số cảnh báo, biểu tượng huy hiệu và âm thanh (< 30 giây).

Bạn có thể chạy một phương pháp khi nó được đưa vào nền trước một lần nữa thông qua thông báo hoặc thông qua các phương tiện khác.

Khi ứng dụng ở chế độ nền, ứng dụng sẽ gọi applicationWillEnterForeground: trước khi tiếp tục. Bạn có thể ghi đè phương thức này để xử lý mọi thứ cần thiết sau khi thông báo. Bạn có thể ghi đè applicationDidEnterBackground: để xác định thời điểm ứng dụng của bạn thực sự nhập vào nền.

Phương thức application:didReceiveLocalNotification: được gọi khi ứng dụng nhận được thông báo nhưng ở phía trước. Cảnh báo, số huy hiệu biểu tượng và âm thanh sẽ không được kích hoạt khi ứng dụng ở nền trước.

5

Khi bạn đóng ứng dụng thì khi bạn nhận được thông báo hơn khi nhấp vào thông báo, phương thức - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions được gọi.

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

    UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; 

    if (localNotif) 
{ 
    // code here. 
} 
Các vấn đề liên quan