【发布时间】:2011-06-14 12:26:43
【问题描述】:
当我的应用程序未运行时如何处理推送通知 我正在为 ios3 开发。请帮助
【问题讨论】:
标签: iphone apple-push-notifications ios-3.x
当我的应用程序未运行时如何处理推送通知 我正在为 ios3 开发。请帮助
【问题讨论】:
标签: iphone apple-push-notifications ios-3.x
一个简短的例子:
- (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 的官方文档:
您可以访问应用程序的内容 字典——虽然你不应该需要 在大多数情况下 - 使用以下 键:
- alert - 该值可以是警报消息的字符串或 字典有两个键:body 和 显示视图。前者的值为 警报消息,后者是 布尔值(假或真)。如果为假,则 未显示警报的查看按钮。这 默认是显示查看按钮 如果用户点击它,它会启动 应用程序。
- badge - 表示要下载的数据项数量的数字 来自提供者。这个号码是 显示在应用程序图标上。 没有徽章属性 表示当前任何数字 标记图标应该被移除。
- sound - 应用程序包中作为声音文件播放的声音文件的名称 警报声。如果“默认”是 指定,默认声音应该是 播放。
字典也可能有 提供者定义的自定义数据 根据 JSON 模式。这 自定义数据的属性应该是 指定在与 aps 相同的级别 字典。但是,自定义 属性不应用于质量 数据传输,因为有一个 每个通知的严格大小限制 (256 字节)和交付不是 保证。
【讨论】: