首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >位置访问-应用程序没有请求用户访问位置的权限- iOS 11

位置访问-应用程序没有请求用户访问位置的权限- iOS 11
EN

Stack Overflow用户
提问于 2017-09-21 06:04:00
回答 4查看 10.6K关注 0票数 7

描述

应用程序没有请求用户访问位置和获取状态notDetermined的权限。

一直工作到iOS-10

代码语言:javascript
复制
var locationManager : CLLocationManager!

func getLocationDetails()
    {
        locationManager.delegate = self
        locationManager.desiredAccuracy = kCLLocationAccuracyBest
        locationManager.requestAlwaysAuthorization()
        locationManager.allowsBackgroundLocationUpdates = true
        locationManager.startUpdatingLocation()

    }

func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus)
    {
        if status == CLAuthorizationStatus.authorizedAlways || status == CLAuthorizationStatus.authorizedWhenInUse
        {
            locationManager.startUpdatingLocation()
        }
    }

    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
    {


    }

胶合板截图

背景模式

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-09-21 08:43:13

我已经翻阅了苹果的文档,并找到了这个问题的解决方案。

苹果公司几乎没有改变用户定位的指导方针。

这是视频链接:苹果-什么是新的定位技术

Swift和Objective中位置访问的完整代码

解决方案:

现在,我们需要在Plist中添加三个身份验证密钥:

  1. NSLocationAlwaysAndWhenInUseUsageDescription
  2. NSLocationWhenInUseUsageDescription
  3. NSLocationAlwaysUsageDescription

Plist看起来如下:

身份验证消息屏幕如下所示:

位置访问的完整代码

票数 18
EN

Stack Overflow用户

发布于 2017-09-21 06:41:38

请在“使用许可时”请求另一个许可,并在plist上添加两种权限。

票数 1
EN

Stack Overflow用户

发布于 2018-03-03 02:37:37

为了请求权限,我在文件中添加了两个键,但是在删除应用程序并再次打开它之后,模拟器没有显示警报以允许用户选择一个选项。

我可以在删除应用程序后再次显示警报,然后打开settings 应用程序,最后再安装该应用程序。

希望能帮上忙。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46336530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档