Salut, je voulais mettre en œuvre le service de notification snspush fourni par amazone. installer pod pour cette En PODFILE j'écris pod 'AWSSNS' après pod installerAWSSNS (Amazone Push notification), Crash d'application
Ensuite, je mets en œuvre le code suivant
Quand je lance l'application, il est plantage avec connexion suivant
**** en raison de l'application Mettre fin exception uncaught 'NSInternalInconsistencyException', la raison: « La configuration du service est nil
. Vous devez configurer Info.plist
ou définir defaultServiceConfiguration
avant d'utiliser cette méthode. '*
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIMutableUserNotificationCategory *messageCategory = [[UIMutableUserNotificationCategory alloc] init];
messageCategory.identifier = @"ShareAction";
UIMutableUserNotificationAction *notificationAction = [[UIMutableUserNotificationAction alloc] init];
notificationAction.identifier = @"ShareAction";
notificationAction.title = @"Share";
notificationAction.activationMode = UIUserNotificationActivationModeForeground;
notificationAction.authenticationRequired = YES;
notificationAction.destructive = NO;
[messageCategory setActions:@[notificationAction] forContext:UIUserNotificationActionContextDefault];
NSSet *categories = [NSSet setWithObject:messageCategory];
UIUserNotificationType types = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
UIUserNotificationSettings *mySettings = [UIUserNotificationSettings settingsForTypes:types categories:categories];
[[UIApplication sharedApplication] registerForRemoteNotifications];
[[UIApplication sharedApplication] registerUserNotificationSettings:mySettings];
}
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken{
NSString *deviceTokenString = [[[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]] stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"deviceTokenString: %@", deviceTokenString);
[[NSUserDefaults standardUserDefaults] setObject:deviceTokenString forKey:@"deviceToken"];
[[NSUserDefaults standardUserDefaults] synchronize];
AWSSNS *sns = [AWSSNS defaultSNS];
AWSSNSCreatePlatformEndpointInput *request = [AWSSNSCreatePlatformEndpointInput new];
request.token = deviceTokenString;
request.platformApplicationArn = SNSPlatformApplicationArn;
[[sns createPlatformEndpoint:request] continueWithBlock:^id(AWSTask *task) {
if (task.error != nil) {
NSLog(@"Error: %@",task.error);
} else {
AWSSNSCreateEndpointResponse *createEndPointResponse = task.result;
NSLog(@"endpointArn: %@",createEndPointResponse);
[[NSUserDefaults standardUserDefaults] setObject:createEndPointResponse.endpointArn forKey:@"endpointArn"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
return nil;
}];
}
S'il vous plaît Aide si quelqu'un sait.
Son même, journal d'impression que l'application Mettre fin à cause de l'exception non interceptée 'NSInternalInconsistencyException', la raison: « La configuration du service est nul. Vous devez configurer Info.plist ou définir defaultServiceConfiguration avant d'utiliser cette méthode. ' – user2856484