2016-07-21 8 views
1

Ich versuche, Push-Benachrichtigungen auf dem iOS-Gerät über Arbeitsscheinwerfer mit Beispielcode und Schritte bei https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/6.3/notifications/push-notifications-native-ios-applications/Geräte Token kommt nicht für iOS-Gerät 9, während iOS nativen Push-Benachrichtigung mit Worklight Integration

vorgesehen zu senden, wenn ich die App auf iOS laufen 7 Gerät, ich bekomme ein Gerät Token und daher, wenn ich auf die Schaltfläche abonnieren, bekomme ich eine erfolgreiche Antwort. Dies funktioniert auch, wenn wir keinen Code in didFinishLaunchingWithOptions für registeringForRemoteNotifications schreiben.

aber wenn ich den gleichen Code auf iOS 8 und iOS laufen 9 Gerät, das ich auf der Konsole folgende Meldung bin immer:

iOSNativePush [1119: 372.642] registerForRemoteNotificationTypes: nicht in iOS 8.0 und höher unterstützt.

Zu meiner Anwendung Lauf für iOS> = 8 Gerät zu machen, habe ich folgenden Code geschrieben:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
// Override point for customization after application launch. 

if([[UIApplication sharedApplication] respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) 
    { 
    [[UIApplication sharedApplication] registerUserNotificationSettings: [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound) categories:nil]]; 

    [[UIApplication sharedApplication] registerForRemoteNotifications]; 
    } 
else 
    { 
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound)]; 
    } 
return YES; 
    } 


- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings 
{ 
    [application registerForRemoteNotifications]; 
} 

Noch ich bin immer "iOSNativePush [1119: 372.642] registerForRemoteNotificationTypes: nicht 8,0 in iOS unterstützt und später "Nachricht in der Konsole aber für iOS 8 Gerät Ich bekomme Gerät Token und Gerät wird abonniert, aber die gleiche Sache funktioniert nicht für iOS 9 Gerät.

ich refered auch folgenden Link aber kein Glück https://www.ibm.com/developerworks/community/blogs/worklight/entry/understanding-and-setting-up-push-notifications-in-development-evnironment?lang=en

bitte mir helfen Gerät Token für iOS 9 Gerät zu erhalten.

Antwort

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

Verwenden oben Code

+0

Danke für die Antwort, ich weiß nicht wie, aber mein alter Code funktioniert heute, ich habe Gerät Token für iOS 9 :) – sakshi

0

Dieses Problem wurde in späteren iFixes von MobileFirst 6.3 und höher behoben.

zu beheben:

1) Aktualisieren Sie Ihre MobileFirst Studio auf die neueste iFix.

2) Fügen Sie eine neue iOS-Umgebung hinzu.

3) Ersetzen der nativen Ordners Probe mit dem neu generierten ein (mit iFix)

4) reinigen, entwickeln und bereitstellen.

+0

Danke, werde ich dies versuchen. – sakshi