我在我的应用程序中实现了推送通知,当我从xcode安装构建但当我通过diawi.com生成的链接安装应用程序时无法正常工作,它正在工作吗?
答案 0 :(得分:3)
推送apns证书对于Development& amp;生产
如果您从 xcode 安装 - 它使用开发证书
如果从 diawi.com安装 - 它使用生产证书
在解析时,我认为你已经上传了从开发证书生成的.p12文件。
你必须上传.p12文件的生产证书&然后检查。
答案 1 :(得分:1)
正如@sadiqxs注意到有两种类型的证书,在评论中你可以找到优秀的simplePush代码(http://d1xzuxjlafny7l.cloudfront.net/downloads/SimplePush.zip)。
但一个经常被遗忘的事情!
您编译到生产(ad-hoc)并从Xcode部署时,deviceToken
已更改(!!!)。我建议你做的是:
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)。
答案 2 :(得分:0)
网站使用临时分发安装IPA。
对于临时推送通知,您需要使用Apple的生产推送服务器,即 gateway.push.apple.com 。
我认为您在使用沙盒推送服务器时从Xcode安装它。
答案 3 :(得分:0)
在解析时上传.p12用于生产,以获取ipa上的通知。
答案 4 :(得分:0)
这个问题的后期,但有一个类似的困难经历,所以以为我分享。正如@sadiqxs所说:
•如果从xcode安装 - 它使用开发证书
•如果从diawi.com安装 - 它使用生产证书
当您尝试调试远程通知时,这会形成一个大问题。但是,有一个简单的解决方法!诀窍是安装AdHoc构建一次,它将使用产品证书注册手机。然后在您的注册方法周围添加以下块(代码中您决定注册用户以进行注释的位置)。
#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在连续构建上运行应用程序时,这将会跳过register语句,从而保持生产通知的进入!
希望这有帮助