iOS 极光推送 接收不到后台推送的消息
今天研究了一下极光,推送。
//关于开发证书的配置 可以看这篇文章 http://jingyan.baidu.com/article/5d6edee20f3ae599eadeec35.html
下载了极光提供的官方的demo,在http://developer.apple.com/ 配置了开发证书,然后去极光官网注册了key,将key,添加到工程里,配置以后,在真机运行实例demo
打印如下
但是在极光的控制台给应用发送信息,应用收不到,
1 - (void)application:(UIApplication *)application 2 didReceiveRemoteNotification:(NSDictionary *)userInfo { 3 [APService handleRemoteNotification:userInfo]; 4 NSLog(@"收到通知:%@", [self logDic:userInfo]); 5 [rootViewController addNotificationCount]; 6 } 7 8 - (void)application:(UIApplication *)application 9 didReceiveRemoteNotification:(NSDictionary *)userInfo 10 fetchCompletionHandler: 11 (void (^)(UIBackgroundFetchResult))completionHandler { 12 [APService handleRemoteNotification:userInfo]; 13 NSLog(@"收到通知:%@", [self logDic:userInfo]); 14 [rootViewController addNotificationCount]; 15 16 completionHandler(UIBackgroundFetchResultNewData); 17 }
这两个方法,根本就不走,相当的郁闷,后来仔细检查,发现我项目工程里面的Bundle iDentifier 和注册的开发账号Bundle Identifier不一致
然后我在工程里面随意改了一下
然后点击Fix Issue ,回到http://developer.apple.com/ 上面去配置开发证书,发现怎么都通过不了,现在才想明白了,如果输入一个Bundle ID 然后在点Fix Issue,那么这个id就被占用了,那注册开发证书的时候,就不会通过,这是需要你先配置app的开发证书,然后讲注册的证书下载导出p12的格式,在极光上面创建一个新的应用,上传证书就行了,最重要一点,要配置下真机测试的证书,用惯了x7以后免费真机测试的同学来复习下吧 http://jingyan.baidu.com/article/ff411625b8141312e48237a7.html ,如果按照上面的步奏做了,我想问题应该解决了,在真机上面跑一下 ,然后在控制台输入信息
让手机上的程序在后台运行,就可以收到推送的通知了