如果iOS权限仍然被拒绝,请偶尔请求iOS权限

如果iOS权限仍然被拒绝,请偶尔请求iOS权限,ios,iphone,swift,permissions,ios-permissions,Ios,Iphone,Swift,Permissions,Ios Permissions,在我的iOS应用程序中,我有一些东西需要用户的权限。 例如:接收推送通知的权限 我想偶尔请求这些用户启用权限,直到他们批准。我不想每次用户启动应用程序时都问 我有打开应用程序设置的功能,用户可以在其中启用通知 extension UIApplication { class func openAppSettings() { if #available(iOS 8.0, *) { UIApplication.shared.openURL(URL(str

在我的iOS应用程序中,我有一些东西需要用户的权限。 例如:接收推送通知的权限

我想偶尔请求这些用户启用权限,直到他们批准。我不想每次用户启动应用程序时都问

我有打开应用程序设置的功能,用户可以在其中启用通知

extension UIApplication {
    class func openAppSettings() {
        if #available(iOS 8.0, *) {
            UIApplication.shared.openURL(URL(string: UIApplicationOpenSettingsURLString)!)
        }
    }
}
我考虑存储上次权限请求的日期和每次应用程序启动的时间-检查上次请求用户权限的时间是多少天前。我不知道为什么,但它对我来说似乎不优雅

你能提出更优雅的解决方法吗

优雅的方式:

  • 在用户进行(应用程序内)购买后立即再次请求许可,理由是您希望提醒未来的优惠

  • 在用户进行(远程)订阅/预订后立即再次请求权限,理由是您希望提醒事件/预订/交付状态

  • 在用户触发(游戏中)操作后立即再次请求许可,该操作需要1个多小时才能完成,并认为您希望提醒完成状态


如果您的应用程序不提供任何购买服务,不触发任何具有现实影响的内容,并且没有长时间的游戏会话,则可能会显示您对这些通知没有任何有意义的触发。

从iOS7开始,但即使有iOS8I的解决方案,也可以使用应用程序打开的次数,每次用户在
UserDefaults
中打开应用程序I increment
Int
。一旦用户在第n次(例如第7次)打开应用程序,我就会显示弹出窗口。我基本上同意您的观点,但在某些情况下,业务部门会要求在当前应用程序中提供更多推送通知订户users@moonvader您可以在问题中澄清您的应用程序采用何种商业模式(应用程序内?、政府资助?、广告?)这些通知的内容是什么(“生日快乐!”、“你的快递准备好了”、“总统阻止了你”、“伟哥打折!”、“你收到了邮件!”、“买一条龙,送一个鸡蛋”等等)