2010-01-27 96 views
0

我试图使用苹果提供的推送通知服务,但我无法获取推送通知所需的设备令牌。我使用下面的代码使用下面的代码如何获得推送通知iphone的devicetoken?

[[UIApplication sharedApplication] 
registerForRemoteNotificationTypes: 
(UIRemoteNotificationTypeAlert | 
    UIRemoteNotificationTypeBadge | 
    UIRemoteNotificationTypeSound)]; 

谁能帮我这...

我检索设备令牌

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken 
{ 
    const void *devTokenBytes = [devToken bytes]; 
    NSLog(@"devToken=%@",devTokenBytes); 
    //[self alertNotice:@"" withMSG:[NSString stringWithFormat:@"devToken=%@",devToken] cancleButtonTitle:NSLocalizedString(@"OK",@"") otherButtonTitle:@""]; 
    //self.registered = YES; 
    //[self sendProviderDeviceToken:devTokenBytes]; // custom method  
} 

- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err 
{ 
    NSLog(@"Error in registration. Error: %@", err); 
} 

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
    for (id key in userInfo) 
    { 
     NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]); 
    }  
} 

我注册了远程通知我在控制台窗口中显示以下警告消息

warning: Unable to read symbols for "/Library/MobileSubstrate/MobileSubstrate.dylib" (file not found). 

难道是做了越狱的iPhone的东西...

Thanx提前...

+0

你是否能够解决他的问题,因为我也在jailbroken iphone上测试我的应用程序,并且在尝试从苹果获取设备令牌时没有调用任何委托方法。另外我也有同样的警告。 – 2010-06-09 06:24:01

回答

2

看来你自己已经回答了这个问题。据我所知,越狱iPhone会收到推送通知的问题,但我不确定。您是否可以使用此iPhone的UDID获取开发/生产证书以安装应用程序?

+0

我有这个应用程序的开发证书。我在这个iPhone上安装了其他应用程序,这些应用程序并不是由我开发的,但我确实得到了这些应用程序的推送通知......任何人都可以帮助我解决这个问题...... – 2010-01-28 06:14:24

+0

如果这是真的,那肯定不是*普遍*真实。我有一个越狱的iOS 5 iPhone 4,我所有的推送通知都能正常工作。你的意思是说“越狱**应用**”吗?我可以看到未使用启用了APNS的供应配置文件签署的应用程序无法正常工作。但是,这不同于设备本身没有收到推送通知,对吧? – Nate 2012-07-02 11:42:09