iOS 14:UNUserNotificationCenter requestAuthorizationWithOptions始终失败,并显示“此应用程序不允许进行通知”

问题描述

我找不到解决方案,对此感到震惊。我有此代码:

UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert |
        UNAuthorizationOptionSound | UNAuthorizationOptionBadge;

[[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:authOptions
        completionHandler:^(BOOL granted,NSError * _Nullable error) {
             NSLog(@"%i %@",granted,error);
        }];

然后立即进入呼叫处理程序,而不显示通知权限

2020-09-18 18:05:46.657991-0700 My App [404:9600] 0 Error Domain=UNErrorDomain Code=1 "Notifications are not allowed for this application" UserInfo={NSLocalizedDescription=Notifications are not allowed for this application}

我想念什么?该警报甚至不会弹出。

注意:相同的代码在iOS 13.x上没有问题,在iOS 14上会立即失败。

解决方法

我的问题是在“产品名称”部分中使用土耳其语字符。

https://developer.apple.com/forums/thread/660648

就我而言,“构建设置-包装-产品名称”不是英语。更改为英语并开始使用。

,

问题是您省略了一个步骤。在请求授权之前,请调用getNotificationSettingsWithCompletionHandler:并查看结果对象的authorizationStatus。如果它是UNAuthorizationStatusDenied,则没有任何意义。

,

我的产品名称是日语。如果产品名称不是英文,则会发生上述问题!如果我将产品名称更改为英语,则可以使用!我已经通过Apple反馈助手提出了一个问题。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...