如何在我的应用未运行时处理推送通知

时间:2011-01-24 13:11:21

标签: iphone apple-push-notifications ios-3.x

如何在我的应用未运行时处理推送通知 我正在开发ios3。请帮助

1 个答案:

答案 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的内容   字典 - 虽然你不应该   在大多数情况下 - 使用以下内容   键:

     
      
  1. alert - 该值可以是警报消息的字符串,也可以是   有两个键的字典:身体和   显示视图。前者的价值是   警报信息和后者是一个   布尔值(false或true)。如果是假的话   警报的“查看”按钮未显示。该   默认是显示“查看”按钮   如果用户点击它,则启动   申请。
  2.   
  3. 徽章 - 表示要下载的数据项数量的数字   来自提供商。这个数字是   显示在应用程序图标上。   没有徽章属性   表示当前的任何数字   应该删除徽标图标。
  4.   
  5. sound - 应用程序包中声音文件的名称   警报声。如果“默认”是   指定,默认声音应该是   播放。
  6.         

    字典也可能有   提供商定义的自定义数据   根据JSON架构。该   自定义数据的属性应该是   指定在与aps相同的级别   字典。但是,自定义   属性不应该用于质量   数据传输因为有一个   每个通知严格限制大小   (256字节)和交付不是   保证。