我的APNS通知正常工作,但我注意到了一個奇怪的行爲,我想要求確認。如果稍後啓動,沒有APNS啓動選項?
我在「didFinishLaunchingWithOptions」或「didReceiveRemoteNotification」期間檢索通知負載。在「didFinishLaunchingWithOptions」中,我正在檢查
NSDictionary* userInfo = [launchOptions valueForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"];
NSDictionary *apsInfo = [userInfo objectForKey:@"aps"];
爲了導出參數。在「didReceiveRemoteNotification」中,apsInfo派生自 NSDictionary * apsInfo = [userInfo objectForKey:@「aps」];
這可以正常工作,但有一個例外:如果我忽略通知彈出窗口並點擊「Close」而不是「View」,最後從啓動板啓動我的應用程序,則不再有apsInfo。這是「按設計」嗎?只有在「查看」或從通知信息對話框啓動應用程序時,通知信息纔可用?
Regards
是的我相信這是正確的流程。您只有在用戶點擊「查看」時纔會獲得啓動選項 – NWCoder 2010-01-06 00:22:56
下面是api我認爲它證實了這一點:http://developer.apple.com/iPhone/library/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html #// apple_ref/occ/intfm/UIApplicationDelegate/application:didFinishLaunchingWithOptions: – NWCoder 2010-01-06 00:27:08
謝謝。我認爲,您可以參考 「launchOptions 包含與以下兩種情況中的一種相關的信息的字典: .... 如果用戶通過點擊應用程序圖標啓動應用程序,字典爲零。 所以基本上這意味着:如果用戶推遲處理,則通知丟失。這對我來說似乎不合邏輯...... – neil 2010-01-06 13:01:37