2011-12-05 2 views
0

내 앱에서 푸시 알림 서비스를 사용하고 있습니다.푸시 알림을 등록하지 못한 기기가 항상 표시됩니다.

하지만 앱이 시작될 때 푸시 알림에 등록하지 못했음을 항상 표시합니다.

내가 푸시 알림을 아래의 코드를 사용 : 내가 잘못된거야 어디

이 사람이 나를 도울 수 있습니다.

미리 감사드립니다.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    if(application.applicationIconBadgeNumber != 0){ 
     [[[[[self tabBarController] viewControllers] objectAtIndex: 1] tabBarItem] setBadgeValue:@"new"];} 




    [self.window addSubview:tabBarController.view]; 
    [self.window makeKeyAndVisible]; 
    NSLog(@"Registering for push notifications...");  
    [[UIApplication sharedApplication] 
    registerForRemoteNotificationTypes: 
    (UIRemoteNotificationTypeAlert | 
     UIRemoteNotificationTypeBadge | 
     UIRemoteNotificationTypeSound)]; 
     return YES; 

} 


- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { 
    NSLog(@"asdfasdf"); 

    NSString *str = [NSString 
        stringWithFormat:@"Device Token=%@",deviceToken]; 

     const char* data = [deviceToken bytes]; 
    NSMutableString* token = [NSMutableString string]; 

    for (int i = 0; i < [deviceToken length]; i++) { 
     [token appendFormat:@"%02.2hhX", data[i]]; 
    } 

    NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"http://chargrilled.k-hosting.co.uk/test2/register_device.php?dt=%@",token]]; 
    NSMutableURLRequest* request = [[[NSMutableURLRequest alloc] initWithURL:url]autorelease]; 
    NSURLConnection* connection = [NSURLConnection connectionWithRequest:request delegate:self]; 


    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Device registered for push notification." 
               message:nil 
               delegate:self 
             cancelButtonTitle:nil 
             otherButtonTitles:@"Okay", nil]; 
    [alert show]; 
    [alert release]; 



} 
- (NSString*)stringWithDeviceToken:(NSData*)deviceToken { 


} 


- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err { 
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Device registration failed." 
               message:nil 
               delegate:self 
             cancelButtonTitle:nil 
             otherButtonTitles:@"Okay", nil]; 
    [alert show]; 
    [alert release]; 

} 

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
    int i; 

    for (id key in userInfo) { 
     i++; 
     NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]); 
     if(i==2){ 

     } 
    } 

    application.applicationIconBadgeNumber = [[userInfo objectForKey:@"badge"] integerValue]; 
    [[[[[self tabBarController] viewControllers] objectAtIndex: 1] tabBarItem] setBadgeValue:@"new"]; 


} 

답변

3

사용중인 프로필을 확인하십시오. 푸시 알림을 사용할 수 있는지 확인하십시오. 그렇지 않으면 푸시 알림을 사용하여 새로 만들지 않습니다.

+0

예 .u r 올바른. 감사합니다. – ishhhh

관련 문제