自定义推送通知的iOS权限对话框

Dav*_*ter 28 push-notification apple-push-notifications ios ios-permissions

当iOS应用程序首次尝试注册推送通知时,系统会弹出一个权限对话框,要求用户获得接收推送通知的权限.是否可以自定义此对话框的文本,以解释为什么要搜索这些权限?

mel*_*sam 35

不,这是一个无法自定义的系统对话框.

  • 作为一种变通方法,可以在执行显示系统权限对话框的操作之前显示一个单独的对话框。 (2认同)

Dav*_*ter 8

我看到的一个解决方法是让应用程序启动自己的自定义对话框,解释为什么需要权限.然后,应用程序立即请求权限,打开系统对话框.

这可能适合于说服用户接受许可请求以获得对功能的访问,或者在知道该功能将不可用的情况下拒绝该请求.


Oma*_*ith 5

不可能,因为你对此没有任何控制权


Rog*_*Lee 5

我不知道你的意思是不是像这张图片的标题下的文字

在此输入图像描述

如果是,请修改您的info.plist文件。添加一个新的密钥Privacy - User Notifications Usage Description,这也是 Xcode 内置选项,您可以从菜单中选择。然后输入值中的任何文本。

在此输入图像描述

这是请求代码AppDelegate didFinishLaunchingWithOptions

if UserDefaults.shared.isFirstLaunch {
    UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { success, error in
        if success {
            print("All set!")
        } else if let error = error {
            print(error.localizedDescription)
        }
    }
    UserDefaults.shared.isFirstLaunch = false
}

Run Code Online (Sandbox Code Playgroud)