UNAlertStyle определяет, представлено ли уведомление как баннер или предупреждение. Текущие настройки авторизации для приложения можно просмотреть с помощью getNotificationSettingsWithCompletionHandler. Если UNAuthorizationOptionAlert был запрошен (и разрешен), стиль по умолчанию выглядит как UNAlertStyleBanner, но я не могу найти способ указать, что локальное уведомление будет представлено как предупреждение, отличное от пользователя, входящего в настройки notificatinon.Как установить UNAlertStyle?
Настройки, возникающие в результате запроса UNAuthorizationOptionAlert, для меня не имеют смысла. Следующий тест приложение запрашивает разрешение на получение оповещений и звуков, а затем NSLog в результирующие настройки уведомлений: (! Но CarPlay, не было предложено Включено)
#import "AppDelegate.h"
#import <UserNotifications/UserNotifications.h>
@interface AppDelegate() {
UNUserNotificationCenter* center;
}
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
center = [UNUserNotificationCenter currentNotificationCenter];
// request authorization for sounds and alerts
[center requestAuthorizationWithOptions:(UNAuthorizationOptionAlert | UNAuthorizationOptionSound)
completionHandler:^(BOOL granted, NSError * _Nullable error) {
NSLog(@"requestAuthorizationWithOptions granted: %i", granted);
// check resulting notification settings
[center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
NSLog(@"getNotificationSettings: %@", settings);
}];
}];
return YES;
}
Полученные параметры показывают сигналы NotSupported:
authorizationStatus: Authorized,
notificationCenterSetting: Enabled,
soundSetting: Enabled,
badgeSetting: NotSupported,
lockScreenSetting: Enabled,
alertSetting: NotSupported,
carPlaySetting: Enabled,
alertStyle: Banner
Любые предложения?
«но я не могу найти способ указать, что локальное уведомление должно быть представлено как предупреждение, отличное от пользователя, входящего в настройки notificatinon« Исправить. Это вопрос? Тогда ответ: вы правы, это зависит от пользователя, а не от вас. – matt
Но другие разрешения на уведомления предлагаются приложением и либо принимаются, либо отклоняются пользователем. Пользователю не нужно вручную входить в настройки и индивидуально разрешать разрешения, необходимые для выполнения его функцией. Является ли это действительно другим, чем другие? soundSetting? – mark
Я не знаю, что вы думаете, что вы подразумеваете под этим. Есть только четыре варианта, которые вы можете запросить: https://developer.apple.com/reference/usernotifications/unauthorizationoptions. Ни один из них не различает стиль баннера оповещения и стиль модального предупреждения. По умолчанию используется стиль баннера, и вы, приложение, не можете его изменить. – matt