[英]iOS: how to register for push notifications?
我正試圖通過Ray Wenderlich的指南為我的iOS 5應用程序實現推送通知: http ://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12。
我已將以下內容插入到didFinishLaunchingWithOptions
方法中:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
在我的設備(而不是模擬器)上運行應用程序時,不顯示告訴我接受推送通知的彈出/警報。 我在線上插入了一個調試點,我可以看到,調用了registerForRemoteNotificationTypes
。
為什么沒有發生?
也許,刪除您的應用並重試。 該對話框只出現一次。 但我不確定重新安裝該應用程序時是否會再次出現該對話框。
您還可以轉到通知中心的設置應用,查看您的應用是否在列表中。
您還可以添加斷點,並查看didRegisterForRemoteNotificationsWithDeviceToken是否執行。
我有這個確切的問題(同樣的教程不少),並發現我使用錯誤的配置文件簽署代碼。
具體來說,我只為我的應用程序啟用了“生產”推送通知(因為我不想兩次制作證書等),但我在Xcode中的Build Settings使用“iPhone Development”作為“Release”的默認“Code Signing Identity”,本來應該是“iPhone發行版”。 這似乎是我的測試應用程序中的默認設置。
希望我能阻止別人在同樣的問題上浪費時間。
從iOS 8開始,有了新的方法。 直接來自UIApplication.h
:
- (void)registerForRemoteNotifications NS_AVAILABLE_IOS(8_0);
調用此方法將導致application:didRegisterForRemoteNotificationsWithDeviceToken:
或application:didFailToRegisterForRemoteNotificationsWithError:
在應用程序委托上調用。
注意:僅當應用程序已使用registerUserNotificationSettings:
成功注冊用戶通知時,或者如果已為后台應用程序刷新啟用,則將進行這些回調。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.