我正在使用APNS在我的应用程序中接收推送通知。无法在所有设备上获取推送通知
问题是我在某些设备上获得相同的通知,但不是全部。这个问题会出现在这里,因为我一直试图解决这个问题大约15天而没有成功。设备令牌正在更新成功。因为如果没有,我不会在任何设备上收到通知。但奇怪的是,我正在使用一半的设备。请帮忙!!
这里是注册和接收通知的代码。我没有任何代码服务器端。但正如我所说,通知正在一些设备上工作。在Android上,他们也在工作。
我有3个设备在这里与我和它的两个工作。 iPad2的:5.0.1 的iPodTouch:4.3.3
它没有其他的iPod touch,我对工作的版本:5.1
而且其显示注册成功APNS中的所有设备。但不发送一些通知。问题是什么?有什么我失踪了吗?
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken
{
deviceToken = [devToken retain];
NSLog(@"Registered for APNS %@", deviceToken);
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
NSMutableString *dev = [[NSMutableString alloc] init];
NSRange r;
r.length = 1;
unsigned char c;
for (int i = 0; i < [deviceToken length]; i++)
{
r.location = i;
[deviceToken getBytes:&c range:r];
if (c < 10) {
[dev appendFormat:@"0%x", c];
}
else {
[dev appendFormat:@"%x", c];
}
}
[ud setObject:dev forKey:@"DeviceToken"];
[ud synchronize];
}
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
NSLog(@"Failed to register %@", [error localizedDescription]);
deviceToken = nil;
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
for(int i=0;i<[viewControllers count];i++)
{
if([[viewControllers objectAtIndex:i] isKindOfClass:[Confirmation class]])
{
Confirmation *map = (Confirmation*)[[self.navigationController viewControllers] objectAtIndex:i];
[map setFinalInfo];
[self.navigationController popToViewController:[[self.navigationController viewControllers] objectAtIndex:i] animated:YES];
}
}
}
打算发布代码?如果没有显示你在做什么,不要期望有太多的帮助。 –
此外,您应该发布您的设备,并没有得到通知。有什么区别? – Dustin
好的..你需要什么代码? APNS注册码? –