ป้ายแจ้งเตือนแบบพุชไม่มา

ฉันใช้โค้ดนี้สำหรับการแจ้งเตือนแบบพุชของ Apple การแจ้งเตือนแบบพุชกำลังมาแต่มาโดยไม่มีป้ายสถานะใดๆ มีข้อเสนอแนะใดๆ ว่าโค้ดนี้มีอะไรผิดปกติ ว่าฉันไม่ได้รับป้ายสถานะ ฉันตรวจสอบแท็บการตั้งค่าแล้ว และมีตราสัญลักษณ์อยู่บนนั้น

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

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

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

}

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken1 { 

    NSString *str = [NSString 
                     stringWithFormat:@"%@",deviceToken1];
    NSLog(@"%@",str);

    self.deviceToken = [NSString stringWithFormat:@"%@",str];
    NSLog(@"dev --- %@",self.deviceToken);
    self.deviceToken = [self.deviceToken stringByReplacingOccurrencesOfString:@"<" withString:@""];
    self.deviceToken = [self.deviceToken stringByReplacingOccurrencesOfString:@" " withString:@""];
    self.deviceToken = [self.deviceToken stringByReplacingOccurrencesOfString:@">" withString:@""];
    NSLog(@"dev --- %@",self.deviceToken);


}

- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err { 

    NSString *str = [NSString stringWithFormat: @"Error: %@", err];
    NSLog(@"%@",str);    

}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    NSLog(@"Received notification: %@", userInfo);
    //[self addMessageFromRemoteNotification:userInfo];

    NSString* alertValue = [[userInfo valueForKey:@"aps"] valueForKey:@"badge"];
    NSLog(@"my message-- %@",alertValue);
    int badgeValue= [alertValue intValue];

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:badgeValue];


}

person Syed Faraz Haider Zaidi    schedule 16.03.2012    source แหล่งที่มา
comment
คุณได้ลองตรวจสอบ badgeValue ว่าตั้งค่าถูกต้องแล้วหรือยัง?   -  person Amit Shah    schedule 16.03.2012
comment
แล้วโค้ดฝั่งเซิร์ฟเวอร์ของคุณล่ะ?.   -  person iamsult    schedule 16.03.2012
comment
เกิดปัญหากับเซิร์ฟเวอร์ของฉัน ฉันเพิ่งพบว่าค่าตราสัญลักษณ์ต้องตั้งค่าเป็นจำนวนเต็มโดยปริยาย   -  person Syed Faraz Haider Zaidi    schedule 16.03.2012
comment
ตอนนี้มันใช้งานได้แล้ว ขอบคุณทุกคน   -  person Syed Faraz Haider Zaidi    schedule 16.03.2012


คำตอบ (2)


มีปัญหากับการเข้ารหัสฝั่งเซิร์ฟเวอร์ของฉัน เมื่อฉันพบว่าค่าตราสัญลักษณ์ต้องตั้งค่าเป็นจำนวนเต็มโดยปริยายเพื่อให้ได้ผลลัพธ์ที่ต้องการ

เนื่องจากฉันได้รับค่าว่างเป็นค่าตราสัญลักษณ์

person Syed Faraz Haider Zaidi    schedule 16.03.2012

ฉันเคยประสบปัญหานี้มาก่อน หวังว่านี่จะช่วยได้

{"aps":{"alert":"dsfdsfsdfsdfsdfdfdfsdfsdf","badge":1,"sound":"a"}}

ตรวจสอบให้แน่ใจว่าไม่มีเครื่องหมายคำพูดคู่บนค่าป้าย

person chings228    schedule 23.03.2013