diff --git a/ios/Exponent/Versioned/Core/UniversalModules/Permissions/EXScopedPermissions.m b/ios/Exponent/Versioned/Core/UniversalModules/Permissions/EXScopedPermissions.m index caaf3dfbe00c5..93e85fb8d857a 100644 --- a/ios/Exponent/Versioned/Core/UniversalModules/Permissions/EXScopedPermissions.m +++ b/ios/Exponent/Versioned/Core/UniversalModules/Permissions/EXScopedPermissions.m @@ -70,7 +70,10 @@ - (void)askForPermissionUsingRequesterClass:(Class)requesterClass // ask for permission. If granted then save it as scope permission void (^customOnResults)(NSDictionary *) = ^(NSDictionary *permission){ UM_ENSURE_STRONGIFY(self) - [self.permissionsService savePermission:permission ofType:permissionType forExperience:self.experienceId]; + // if permission should be scoped save it + if ([self shouldVerifyScopedPermission:permissionType]) { + [self.permissionsService savePermission:permission ofType:permissionType forExperience:self.experienceId]; + } resolve(permission); }; @@ -82,10 +85,13 @@ - (void)askForPermissionUsingRequesterClass:(Class)requesterClass UIAlertAction *allowAction = [UIAlertAction actionWithTitle:@"Allow" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { UM_ENSURE_STRONGIFY(self); NSMutableDictionary *permission = [globalPermissions mutableCopy]; - // try to save scoped permissions - if fails than permission is denied - if (![self.permissionsService savePermission:permission ofType:permissionType forExperience:self.experienceId]) { - permission[@"status"] = [[self class] permissionStringForStatus:UMPermissionStatusDenied]; - permission[@"granted"] = @(NO); + // if permission should be scoped + if ([self shouldVerifyScopedPermission:permissionType]) { + // try to save scoped permissions - if fails than permission is denied + if (![self.permissionsService savePermission:permission ofType:permissionType forExperience:self.experienceId]) { + permission[@"status"] = [[self class] permissionStringForStatus:UMPermissionStatusDenied]; + permission[@"granted"] = @(NO); + } } resolve(permission); }];