如何在我的应用未运行时处理推送通知 我正在开发ios3。请帮助
答案 0 :(得分:14)
一个简短的例子:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSDictionary *tmpDic = [launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"];
//if tmpDic is not nil, then your app is launched due to an APNs push, therefore check this NSDictionary for further information
if (tmpDic != nil) {
NSLog(@" - launch options dict has something ");
NSLog(@" - badge number is %@ ", [[tmpDic objectForKey:@"aps"] objectForKey:@"badge"]);
NSLog(@" - ");
}
编辑:关于您收到的NSDictionary,来自Apple的官方文档:
您可以访问aps的内容 字典 - 虽然你不应该 在大多数情况下 - 使用以下内容 键:
- alert - 该值可以是警报消息的字符串,也可以是 有两个键的字典:身体和 显示视图。前者的价值是 警报信息和后者是一个 布尔值(false或true)。如果是假的话 警报的“查看”按钮未显示。该 默认是显示“查看”按钮 如果用户点击它,则启动 申请。
- 徽章 - 表示要下载的数据项数量的数字 来自提供商。这个数字是 显示在应用程序图标上。 没有徽章属性 表示当前的任何数字 应该删除徽标图标。
- sound - 应用程序包中声音文件的名称 警报声。如果“默认”是 指定,默认声音应该是 播放。
醇>字典也可能有 提供商定义的自定义数据 根据JSON架构。该 自定义数据的属性应该是 指定在与aps相同的级别 字典。但是,自定义 属性不应该用于质量 数据传输因为有一个 每个通知严格限制大小 (256字节)和交付不是 保证。