Ali*_*Ali 4 iphone apple-push-notifications ios-3.x
如何在我的应用程序未运行时处理推送通知我正在开发ios3.请帮助
Di *_* Wu 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(@" - ");
}
Run Code Online (Sandbox Code Playgroud)
编辑:关于您收到的NSDictionary,来自Apple的官方文档:
您可以访问aps词典的内容 - 尽管在大多数情况下您不需要使用以下键:
- alert-该值可以是警报消息的字符串,也可以是包含两个键的字典:body和show-view.前者的值是警报消息,后者是布尔值(false或true).如果为false,则不显示警报的"查看"按钮.默认设置是显示"查看"按钮,如果用户点击该按钮,则启动该应用程序.
- badge - 一个数字,指示从提供程序下载的数据项的数量.此编号将显示在应用程序图标上.缺少徽章属性表示应删除当前标记图标的任何数字.
- sound-应用程序包中声音文件的名称,用作警报声音.如果指定"default",则应播放默认声音.
字典还可以具有由提供者根据JSON模式定义的自定义数据.应该在与aps字典相同的级别指定自定义数据的属性.但是,自定义属性不应用于海量数据传输,因为每个通知(256字节)存在严格的大小限制,并且无法保证传递.