iphone - 如何在 iOS 应用程序中检索和处理远程推送通知内容

标签 iphone ios apple-push-notifications

我试图在应用程序未运行时获取远程通知信息,所以我被告知我可以从 :

UILocalNotification *localNotification  = [launchOptions 
                   objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey] 

在方法中:

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

,还是获取不到信息。

然后我使用 alertView 在 iPhone 上显示信息(在没有 Xcode 的情况下启动),仍然无法获取信息。

还有其他问题会导致这种情况吗?如果您有任何想法,请告诉我。

最佳答案

如何检索和处理远程通知:

应用正在运行

下面方法中的userInfo已经包含了推送通知

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
}

应用未运行

在两种情况下,launchOptions 中 key 的值包括推送通知:

1.锁屏,当收到远程推送通知时,点亮屏幕,用户解锁屏幕后直接启动应用。

2.用户点击下拉菜单中的通知以启动应用程序。 如果用户直接点击该应用,则通知将消失并丢失。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   [launchOptions valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey] description];
}

关于iphone - 如何在 iOS 应用程序中检索和处理远程推送通知内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17397064/

相关文章:

iphone - 在我的 View 中获取分组的表格 View 背景颜色

ios - UITableView滚动滞后,即使是简单文本

ios - 'title' 的类型与协议(protocol) 'UIPreviewActionItem' 要求的可选性不同

php - 用PHP处理Apple Push Notification Service的device token的方法

python - 制作.p12/.pem并在本地测试APNS的正确方法

在应用程序中但不在主屏幕上收到 iOS 推送通知

ios - 如何从NSDictionary中删除包含“<null>”的字符串

iphone - 您如何判断 UIPrintInteractionController 是否正在显示?

ios - 如何使用 extern NSString 将字符串值从第一个 View 移动到第二个 View Controller

ios - 在单独的类中定义未知枚举的原因是什么?