今天开始给程序加推送,用的百度云推送,配置好了开发证书和APNs证书,对着开发指南设置好之后运行没效果,只好去研究Demo。
把Demo设置好之后点击bind出现了类似标题的提示,以前从没用过推送的小菜鸟顿时跪了,为什么token是null啊,明明有如下方法啊
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
NSLog(@"test:%@",deviceToken);
[BPush registerDeviceToken: deviceToken];
self.viewController.textView.text = [self.viewController.textView.text stringByAppendingFormat: @"Register device token: %@\n openudid: %@", deviceToken, [OpenUDID value]];
}
抓瞎的搜索了一大圈,最后从
IOS成长之路-推送(通过苹果服务器)这篇文章发现我还可以打印错误……对不起我拉低了程序员的平均智商。
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error{
NSLog(@"Failed to get token, error: %@", error);
}
加上之后打印了 code = 3000, 未找到应用程序的“aps-environment”的权利字符串
又搜了一圈,从 Code=3000 "未找到应用程序的“aps-environment”的权利字符串" 解决办法这篇文章发现……原来两个证书是不够的= =,还要有一个.mobileprovision的配置文件。加上配置文件后,问题解决。成功推送一条Hello World!=w=