热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

位置服务在iOS11中不起作用

如何解决《位置服务在iOS11中不起作用》经验,为你挑选了6个好方法。

我刚用iOS 11 SDK重建了我的应用程序,试图删除blue banner现在总是出现的应用程序.我想 - "太棒了,有用",却发现定位服务现在根本不起作用.

用于iOS 10的应用程序 - 有没有人听到过什么?



1> William Geor..:

苹果似乎又添加了另一项隐私功能.用户现在能够覆盖我们requestAlwaysAuthorization并将其降级为requestWhenInUseAuthorization- 这意味着作为开发人员,我们现在必须提供两个描述Info.plist

我发现他们已经添加了一个新密钥 NSLocationAlwaysAndWhenInUseUsageDescription

/*
*      Either the NSLocationAlwaysAndWhenInUseUsageDescription key or both the
*      NSLocationAlwaysUsageDescription and NSLocationWhenInUseUsageDescription
*      keys must be specified in your Info.plist; otherwise, this method will do
*      nothing, as your app will be assumed not to support Always authorization.
*/

然而,在使用这个新密钥时 - 位置服务仍然无法工作,在进一步搜索时,我发现这个宝石混入了所有额外的调试信息:

此应用尝试访问隐私敏感数据,但没有使用说明.应用程序的Info.plist必须包含NSLocationAlwaysAndWhenInUseUsageDescription和NSLocationWhenInUseUsageDescription键,并带有字符串值,向用户解释应用程序如何使用此数据

这与我在更新CLLocationManager.h文件中找到的注释直接相矛盾.所以我创造了一个雷达.

好消息,如果你按照调试控制台的建议,IE.添加新密钥NSLocationAlwaysAndWhenInUseUsageDescription和旧密钥之一NSLocationWhenInUseUsageDescription,位置服务将重新开始工作.


不幸的是,用户现在得到了三个答案的对话,其中由于用户不耐烦而最有可能被击中的是最佳选择:"仅在使用应用程序时".这将导致需要始终使用的应用程序无用,除非用户经历了之后再次更改设置的所有麻烦.当应用程序要求时,至少"始终允许"应该是最佳选择!
我面临着非常相似的情况.只有我在iOS 10.2中测试,并且我在我的Info.plist中添加了"NSLocationAlwaysUsageDescription",这是我需要的权限.但我在控制台中收到上述消息,说我还需要添加`NSLocationWhenInUseUsageDescription`.

2> Heider Sati..:

只是添加修复此步骤的步骤:

2种方法:

A)简单的方法:选择你的Info.plist文件,添加属性,注意它们以PRIVCY而不是LOCATION开头...因此,这些变量的确切名称以"Privacy - Location ..."等开头,添加每个都在这里,并描述用户将如何在警告上看到这一点.

B)硬/有趣/程序化的方式(我更喜欢这种方式):

右键单击您的应用程序的Info.plist,然后选择"查看源代码",您应该在XML中看到它,

遵循其他......格式,并添加以下属性:

NSLocationAlwaysUsageDescription
Program requires GPS to track cars and job orders
NSLocationAlwaysAndWhenInUseUsageDescription
Program requires GPS to track cars and job orders
NSLocationWhenInUseUsageDescription
Program requires GPS to track cars and job orders
NSMicrophoneUsageDescription
This app uses your Microphone to allow Voice over IP communication with the Program Admin system

单击保存,然后右键单击info.plist文件,然后选择属性列表,这应该将文件返回到默认视图.

编辑:

另一位成员要求代码,这里是:

1)在.H文件中,添加:

@property (strong, nonatomic) CLLocationManager *LocationManager;

2)在.M文件上添加ViewDidAppear()函数:

_LocatiOnManager= [[CLLocationManager alloc] init];
[_LocationManager setDelegate:self];
_LocationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
_LocationManager.pausesLocatiOnUpdatesAutomatically= NO;
[_LocationManager requestAlwaysAuthorization];

_LocationManager.headingFilter = 5;
_LocationManager.distanceFilter = 0;

[_LocationManager startUpdatingLocation];
[_LocationManager startUpdatingHeading];

这对我来说很好,希望代码也适合你.

问候

海德



3> iDoc..:

在iOS11下我发现,Info.plist在Info.plist中至少需要NSLocationAlwaysAndWhenInUseUsageDescription:

在此输入图像描述

当您的应用程序是多语言时,奇怪的是,您的字符串的本地化版本需要此帖子中提到的所有三个键,requestAlwaysAuthorization()并且locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) 将无声地失败.

拍摄显示德语翻译为例:

在此输入图像描述

希望这可以节省你绊倒的时间.



4> Keshav Gera..:

在Swift 4.0.3中工作

   NSLocationAlwaysAndWhenInUseUsageDescription
   Description

   NSLocationAlwaysUsageDescription
   Will you allow this app to always know your location?

   NSLocationWhenInUseUsageDescription
   Do you allow this app to know your current location?  



5> mhit0..:
跟着这些步骤:

我遇到了一个需要"始终授权"的应用程序遇到了同样的问题,并通过以下步骤解决了这个问题:

1. 添加 NSLocationWhenInUseUsageDescription密钥Info.plist

2. 添加 NSLocationAlwaysAndWhenInUseUsageDescriptionInfo.plist

3. 添加 NSLocationAlwaysUsageDescriptionInfo.plist(支持

4. 之前致电 )requestWhenInUseAuthorization() requestAlwaysAuthorization(

您无法在requestWhenInUseAuthorization()之前执行requestAlwaysAuthorization().您必须升级到该权限级别.完成这些更改后,位置更新再次开始正常工作.

更多详情可在这找到:

https://developer.apple.com/documentation/corelocation/choosing_the_authorization_level_for_location_services/requesting_always_authorization



6> Abhishek Bed..:

比抱歉更安全.. 在iOS 11中:添加以下内容,你很好.

NSLocationWhenInUseUsageDescription
Description

NSLocationAlwaysAndWhenInUseUsageDescription
Description

NSLocationAlwaysUsageDescription
Description


推荐阅读
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 突破MIUI14限制,自定义胶囊图标、大图标样式,支持任意APP
    本文介绍了如何突破MIUI14的限制,实现自定义胶囊图标和大图标样式,并支持任意APP。需要一定的动手能力和主题设计师账号权限或者会主题pojie。详细步骤包括应用包名获取、素材制作和封包获取等。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
author-avatar
手机用户2502862793
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有