简体   繁体   中英

Apple Notification Device Token change

I'm facing an issue after updating my app. I'm getting a device token in this format C43461D5-E9CB-4C10-81F8-020327A07A62 and the notifications aren't working.

Before, I had a notification in this format: 2add70865401171c7ca1d3b3957b719eaf721fef8f8d7a52bc91ef8a872cc004

I did allow notifications for the app and I've not changed anything in the backend. Can anyone guide me why it's not working?

Code in didFinishLaunchingWithOptions :

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
{
    [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
    [[UIApplication sharedApplication] registerForRemoteNotifications];
}
else
{
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
     (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)];
}

Getting the device token:

NSString *deviceTokenID = [[NSUserDefaults standardUserDefaults] objectForKey:DEVICE_TOKEN_PUSH_NOTI];
if ([deviceTokenID isEqualToString:@""] || deviceTokenID == nil) {
    NSString *tempApplicationUUID  = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
    [dics setObject:tempApplicationUUID forKey:@"cust_device_id"];
} else {
    [dics setObject:[[NSUserDefaults standardUserDefaults] objectForKey:DEVICE_TOKEN_PUSH_NOTI] forKey:@"cust_device_id"];
}

I got the below error:

Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo={NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}, no valid 'aps-environment' entitlement string found for application

在此处输入图片说明

plz go to

Click on .xcodeproj -> Capabilities -> Enable Push Notification

hope it's work

Click on .xcodeproj -> Capabilities -> Enable Push Notification

在此处输入图片说明

NSString *tempApplicationUUID  = [[[UIDevice currentDevice] identifierForVendor] UUIDString];

The UUIDString is the Unique device ID but for the Apple Push Notification you required the device token get back from APNS so for that Use the below method you get 64 digit deviceToken and get notification.

-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken


{
    NSString *devToken = [[[[deviceToken description]
                            stringByReplacingOccurrencesOfString:@"<"withString:@""]
                           stringByReplacingOccurrencesOfString:@">" withString:@""]
                          stringByReplacingOccurrencesOfString: @" " withString: @""];


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

    [[NSUserDefaults standardUserDefaults]setObject:devToken forKey:@"DeviceToken"];

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM