ios定位权限plist_iOS-info.plist 中添加定位权限

一般在项目中添加权限只需要看这一篇文章:https://www.jianshu.com/p/2a309504cec8 就够了,但是位置权限说明有点麻烦,现总结如下,方便后期使用。

定位权限一般有四个:

NSLocationWhenInUseUsageDescription

NSLocationAlwaysAndWhenInUseUsageDescription

NSLocationUsageDescription

NSLocationAlwaysUsageDescription

NSLocationWhenInUseUsageDescription :用在 iOS app上,只能用于应用在前台时需要获取用户位置的权限说明

官方解释如下:

Use this key if your iOS app accesses location information only when running in the foreground

NSLocationAlwaysAndWhenInUseUsageDescription:用在 iOS app上, 用于应用在后台时需要获取用户位置的权限说明

官方解释如下:

Use this key if your iOS app accesses location information while running in the background

我一般会在info.plist 文件中同时添加 NSLocationWhenInUseUsageDescription 和 NSLocationAlwaysAndWhenInUseUsageDescription,只添加一种好像是不谈出权限弹框

位置弹框如下:

位置权限弹框.png

NSLocationUsageDescription:用在 macOS app上,用于获取用户位置信息的权限说明

官方解释如下:

Use this key in a macOS app that accesses the user’s location information

NSLocationAlwaysUsageDescription:用在 iOS app 上,用于 iOS11 之前,应用在后台时需要获取位置权限说明,需要跟NSLocationAlwaysAndWhenInUseUsageDescription 一起添加,iOS11 之后,只添加NSLocationAlwaysAndWhenInUseUsageDescription就可以了

官方解释如下:

Use this key if your iOS app accesses location information in the background, and you deploy to a target earlier than iOS 11. In that case, add both this key and [`NSLocationAlwaysAndWhenInUseUsageDescription`](apple-reference-documentation://hspmGRevlx) to your app’s `Info.plist` file with the same message. Apps running on older versions of the OS use the message associated with `NSLocationAlwaysUsageDescription`, while apps running on later versions use the one assocated with `NSLocationAlwaysAndWhenInUseUsageDescription`.

先记录这些,感谢阅读,如有错误,不吝赐教!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS 6 的5个新特性创建杀手级应用

下面是5个iOS 6 的新特性,可以根据需要集成到新的App中: 1. Sharing 一个新的Social 框架,提供了简单的接口访问用户的social media账户,如Twitter、Facebook和中国的微博服务等等。你可以手工处理,或者简单实用UIKit的…

LeetCode MySQL 1174. 即时食物配送 II

文章目录1. 题目2. 解题1. 题目 配送表: Delivery -------------------------------------- | Column Name | Type | -------------------------------------- | delivery_id | int | | customer_id | int | | o…

python的魔法_python魔法方法大全

魔法方法含义基本的魔法方法__new__(cls[, ...])1. __new__ 是在一个对象实例化的时候所调用的第一个方法2. 它的第一个参数是这个类,其他的参数是用来直接传递给 __init__ 方法3. __new__ 决定是否要使用该 __init__ 方法,因为 __new__ 可以调用其他类的…

存储过程语法

View Code 存储过程如同一门程序设计语言,同样包含了数据类型、流程控制、输入和输出和它自己的函数库。--------------------基本语法--------------------一.创建存储过程 create procedure sp_name() begin ......... end二.调用存储过程 1.基本语法&#xff1a…

LeetCode MySQL 1158. 市场分析 I

文章目录1. 题目2. 解题1. 题目 Table: Users ------------------------- | Column Name | Type | ------------------------- | user_id | int | | join_date | date | | favorite_brand | varchar | ------------------------- 此表主键是 user_i…

sqlite 数据量_向SQLite批量导入csv,txt数据

将csv或者txt格式的文件导入SQLite一般有两种方式:使用pandas.readcsv()读取后,用to_sql方法写入数据库使用SQLiteStudio创建表格,再导入数据但是这两种方法在数据量比较大的时候会非常慢,这里提供一种使用官网提供的SQLite.exe命…

ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL(转)

http://www.cnblogs.com/John-Connor/archive/2012/05/03/2478821.html 引言-- 在初级篇中,我们介绍了如何利用基于ASP.NET MVC的Web程序中的Global文件来简单的重写路由。也介绍了它本身的局限性-依赖于路由信息中的键值对: 如果键值对中没有的值,我们无…

LeetCode MySQL 580. 统计各专业学生人数

文章目录1. 题目2. 解题1. 题目 一所大学有 2 个数据表,分别是 student 和 department ,这两个表保存着每个专业的学生数据和院系数据。 写一个查询语句,查询 department 表中每个专业的学生人数 (即使没有学生的专业也需列出&a…

python数据抓取技术与实战训练_师傅带徒弟学Python:项目实战1:网络爬虫与抓取股票数据...

本视频基于**Python 3.X版本本视频课程是第四篇第一个实战项目,内容包括网络爬虫技术、使用urllib爬取数据、使用Selenium爬取数据、使用正则表达式、使用BeautifulSoup库、MySQL数据库、Python访问数据库、Lambda表达式和多线程。目录:22.1 网络爬虫技术…

gPodder 3.4 发布,播客接收器

gPodder 3.4 修复了 Youtube 和 Vimeo 下载的问题,更新了 Flattr 集成,性能和 UI 方面的改进等。 gPodder是播客接收器,采用Python和PyGTK开发。它帮你管理播客RSS供稿,并自动下载您想要的所有的播客许多资料。如果你对某个 供稿R…

LeetCode 1522. Diameter of N-Ary Tree(递归)

文章目录1. 题目2. 解题1. 题目 Given a root of an N-ary tree, you need to compute the length of the diameter of the tree. The diameter of an N-ary tree is the length of the longest path between any two nodes in the tree. This path may or may not pass thro…

python控制条件语句_Python条件控制语句

一、条件判断语句(if语句)执行的流程if语句在执行时,会先对条件表达式进行求值判断如果为True,则执行if后的语句如果为False,则不执行语法:if 条件表达式:代码块代码块代码中保留着一组代码,同一个代码块中…

LeetCode MySQL 1355. 活动参与者(any函数)

文章目录1. 题目2. 解题1. 题目 表: Friends ------------------------ | Column Name | Type | ------------------------ | id | int | | name | varchar | | activity | varchar | ------------------------ id 是朋友的 id 和该表的主…

python zipfile教程_Python中zipfile压缩文件模块的基本使用教程

zipfilePython 中 zipfile 模块提供了对 zip 压缩文件的一系列操作。fzipfile.ZipFile("test.zip",mode"") //解压是 r , 压缩是 w 追加压缩是 amode的几种:解压:r压缩:w追加压缩:a压缩一个文件创建一个压缩文…

asp不同编码下 UTF-8 GB2312转换收集

用于gb2312下接收新浪api 的json数据utf-8转gb2312 UTF-8字符转换成GB2312 Function UTF2GB(UTFStr) For Dig1 to len(UTFStr) if mid(UTFStr,Dig,1)"%" then if len(UTFStr) > Dig8 then GBStrGBStr & ConvChinese(mid(UTFStr,Dig,9)) DigDig8 else GBStrG…

LeetCode MySQL 578. 查询回答率最高的问题

文章目录1. 题目2. 解题1. 题目 从 survey_log 表中获得回答率最高的问题, survey_log 表包含这些列:id, action, question_id, answer_id, q_num, timestamp。 id 表示用户 id; action 有以下几种值:"show"&#xff…

mysql的cpu飙升到500_[MySQLCPU]线上飙升800%,load达到12的解决过程

接到报警通知,负载过高,达到800%,load也过高,有11了。MySQL版本为5.6.12-log1 top 之后,确实是mysqld进程占据了所有资源。2 查看error日志,无任何异常3 show eninge innodb status\G,没有死锁信…

【分享】Android JNI实例​

【分享】Android JNI实例​ Android的SDK中没有包括JNI的支持,而且对如何支持JNI也没有任何文档说明。不过既然整个Android平台是开源的,我们可以通过Google发布的源代码来找到一些线索(比如frameworks/base/media/jni/目录)&…

LeetCode MySQL 1098. 小众书籍

文章目录1. 题目2. 解题1. 题目 书籍表 Books: ------------------------- | Column Name | Type | ------------------------- | book_id | int | | name | varchar | | available_from | date | ------------------------- book_…

mysql linux 还原_linux下java还原mysql数据库

pageEncoding"UTF-8" import"java.lang.*,java.io.*,java.util.*"%>Runtime runtime Runtime.getRuntime();// 将/data/backup.sql 还原到 192.168.0.96 上的demo库 账号密码为 root rootString restore "mysql -u root -proot -h 192.168.0.96 …