欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

IOS提醒用户重新授权打开定位功能

程序员文章站 2022-06-10 18:36:26
ios 8及以上版本最不为人知的一个特点是与应用设置的深层链接,用户可以根据app的需要授权启用位置、通知、联系人、相机、日历以及健康等设置。 大多数应用程序仅仅是弹...

ios 8及以上版本最不为人知的一个特点是与应用设置的深层链接,用户可以根据app的需要授权启用位置、通知、联系人、相机、日历以及健康等设置。

大多数应用程序仅仅是弹出一个包含操作指令的警示窗口,如“进入设置>隐私>位置>our_app”。例如,推特的应用程序有一个更为精致和友好的指示对话框,所以我就把它当做一个例子来使用(可惜大多数应用程序都会有一个非常糟糕的版本)。

IOS提醒用户重新授权打开定位功能

我现在以一个心情沮丧用户的身份写这个帖子,希望更多的ios开发者能与用户设置建立直接的深层链接,尤其是操作起来也非常容易。

以下是一个日历相关的应用程序的警告提醒代码,其中包含了为用户进行设置的选项。我正试图在其中包含一个能将用户带入设置的选项。

func showeventsacessdeniedalert() {
  let alertcontroller = uialertcontroller(title: "sad face emoji!",
    message: "the calendar permission was not authorized. please enable it in settings to continue.",
    preferredstyle: .alert)
  let settingsaction = uialertaction(title: "settings", style: .default) { (alertaction) in
    // this is where the magic happens!!!!
    if let appsettings = nsurl(string: uiapplicationopensettingsurlstring) {
      uiapplication.sharedapplication().openurl(appsettings)
    }
  }
  alertcontroller.addaction(settingsaction)
  let cancelaction = uialertaction(title: "cancel", style: .cancel, handler: nil)
  alertcontroller.addaction(cancelaction)
  presentviewcontroller(alertcontroller, animated: true, completion: nil)
}

再次提醒,仅需要添加此代码到您的app中就能实现与用户设置进行深层链接

if let appsettings = nsurl(string: uiapplicationopensettingsurlstring) {
  uiapplication.sharedapplication().openurl(appsettings)
}

当用户拒绝了授权,这就更像swarm应用程序了。

当用户点击“打开设置”时,他们就能很方便地进入这个界面。

IOS提醒用户重新授权打开定位功能

只需添加这三行代码,就能在激活app使用权限这一重要方面提高用户体验。以我为例,用户甚至会因为日历未被授权而不能继续使用应用程序。因此,我最大的兴趣就是让用户更改设置中的权限变得简单易行。同样,这也适用于许多其他的应用程序。

IOS提醒用户重新授权打开定位功能

  这一方法在ios 9系统中的应用效果更好!设置界面中将有一个返回按钮,能直接使用户返回到您的应用程序。真没理由不用这个方法啊!

以上内容是小编简单给大家介绍的ios提醒用户重新授权打开定位功能的全部叙述,希望大家喜欢。