当从Xcode推送通知安装生成工作,但是当安装Ipa它不工作
我在我的应用程序中实现推送通知,它正在工作,当我从xcode安装生成,但不工作时,我通过diawi.com生成的链接安装应用程序为什么发生这种情况?
推动证书是不同的开发和生产
-
如果你从xcode安装 – 它使用开发证书
-
如果从diawi.com安装 – 它使用生产证书
在parsing,com我想你已经上传.p12文件生成的开发证书。
你必须上传生产证书的.p12文件然后检查。
作为@sadiqxs通知有两种types的证书,并在评论中,你可以find优秀的simplePush代码( http://d1xzuxjlafny7l.cloudfront.net/downloads/SimplePush.zip )。
但是一个经常被遗忘的东西!
当您编译为生产(ad-hoc)并从Xcode进行部署时,您的deviceToken
更改 (!!!)。 我build议你要做的是:
- 在开发人员中心创build开发人员和生产证书(您已经拥有)
- 下载这个简单的推送应用
- 阅读你的deviceToken进行开发env并检查它是否工作
-
NSLog
方法中的令牌:-(void)application:didRegisterForRemoteNotificationsWithDeviceToken:
样品:
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken { NSString *dt = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]]; dt = [dt stringByReplacingOccurrencesOfString:@" " withString:@""]; NSLog(@"%@",dt"); }
- 检查设备日志并阅读生产令牌
- 如果推到设备尝试简单的推
6a)如果是,问题就解决了
6b)如果没有,并且您收到dev env的推送,那么肯定会遇到证书问题并重新生成它们
当你使用SimplePush脚本的时候,记得把沙箱中的url改成生产(gateway.push.apple.com)。
该网站安装IPA与临时分配。
对于临时推送通知,您需要使用Apple的生产推送服务器,即gateway.push.apple.com 。
我想你是从Xcode安装时使用沙箱推送服务器。
上传.p12进行parsing制作以获取ipa上的通知。
迟到这个问题,但有一个类似的麻烦,所以我想分享经验。 正如@sadiqxs所指出的那样:
•如果从xcode安装 – 它使用开发证书
•如果从diawi.com安装 – 它使用生产证书
当您尝试debugging远程通知时,这形成一个大问题。 但是, 有一个简单的解决方法! 诀窍是安装一次AdHoc构build,这将使用生产证书注册电话。 然后在你的注册方法中添加下面的代码块(代码中你决定注册用户的地方)。
#ifndef DEBUG //your code to register for notifications, something along the lines of UIApplication* application = [UIApplication sharedApplication]; [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; #endif
这将做什么,当你通过XCode连续编译运行应用程序时,跳过注册语句,从而保持生产通知不会进入!
希望这可以帮助