- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在调试区域遇到问题。它的意思是:“这个应用程序试图在没有使用描述的情况下访问隐私敏感数据。应用程序的 Info.plist 必须包含“NSLocationAlwaysAndWhenInUseUsageDescription”和“NSLocationWhenInUseUsageDescription”键,其中包含向用户解释应用程序如何使用这些数据的字符串值。 "
我正在创建的应用程序涉及仅在他/她使用该应用程序时获取用户的位置,或者换句话说,仅在前台获取用户的位置。我只在 info.plist 中添加了: key (隐私 - 使用时的位置使用说明)、类型(字符串)、值(我们将使用您的位置来寻找您附近的工作!)。
这是我的 View Controller 中的代码:
import UIKit
import Foundation
import CoreLocation
class JobTableViewController: UITableViewController, CLLocationManagerDelegate {
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// Implement Indeed Job Search API
let headers = [
"x-rapidapi-host": "indeed-indeed.p.rapidapi.com",
"x-rapidapi-key": "838897ae8cmsha8fef9af0ee840dp1be982jsnf48d2de3c84a"
]
let request = NSMutableURLRequest(url: NSURL(string: "https://indeed-indeed.p.rapidapi.com/apigetjobs?v=2&format=json")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error!)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse!)
}
})
dataTask.resume()
// Recieve live location from user
// For use when the app is open
locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.startUpdatingLocation()
}
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.first {
print(location.coordinate)
}
}
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
if(status == CLAuthorizationStatus.denied) {
showLocationDisabledPopUp()
}
}
// If user disabled location services
func showLocationDisabledPopUp() {
let alertController = UIAlertController(title: "Location Access is Disabled", message: "In order to automatically find jobs near you, we need your location.", preferredStyle: .alert)
let cancelAction = UIAlertAction(title: "Okay", style: .cancel, handler: nil)
alertController.addAction(cancelAction)
let openAction = UIAlertAction(title: "Open Settings", style: .default) { (action) in
if let url = URL(string: UIApplication.openSettingsURLString) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}
alertController.addAction(openAction)
self.present(alertController, animated: true, completion: nil)
}
我能够成功构建应用程序并登录到应用程序。调试器甚至成功地显示了模拟器的坐标。但是,它仍然给我这个警告,我无法使用坐标通过我安装的 API 查找附近的工作(代码也包含在上面)。我不知道为什么它甚至会警告我“NSLocationAlwaysAndWhenInUseUsageDescription”,因为我的程序中没有提到过一次。
最佳答案
调试器消息和其他两个答案告诉您需要做什么。添加具有相同文本的附加使用 key 。
为什么?这是必需的,因为从 iOS 12 开始,用户可以在询问“始终”时回复“使用时”,而在 iOS 13 中,只有在应用程序首次询问“始终”时才会询问“使用时”。
在 iOS 12 之前,根据您的应用要求的内容,使用不同的“使用时”和“始终”权限请求字符串。
在 iOS 12 及更高版本中,您需要在单个键中的“始终”和“使用时”场景中都有一个使用字符串。
Apple 提供了新的 NSLocationAlwaysAndWhenInUseUsageDescription
让应用程序开发人员有机会根据新行为提供不同信息的关键。
从理论上讲,这是 iOS 12 之后唯一需要的 key ,但为了向后兼容,您需要同时包含旧 key 和新 key ,即使您的最低 ios 目标是 iOS 12 或更高版本。
关于ios - 在调试器中出现错误 : This app has attempted to access privacy-sensitive data without a usage description,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62616010/
我真的需要在我的程序中使用 LSHKIT 来衡量一些高维向量的相似性。有一个名为 lshkit 的 lsh 库,可以在这里找到:http://lshkit.sourceforge.net/我对使用它感
任何人都可以为区分大小写做一个很好的案例(:-))吗? C#:区分大小写 VB.NET:不是 区分大小写 C++:区分大小写 ... 更糟糕的部分:在 VB.NET 等语言中使用的 XML 是 区分大
理论上电子邮件是 case sensitive .但是使用电子邮件作为系统登录我希望它们都是小写的(即 john@smith.com 和 John@smith.com 不能是不同的用户)。 对于某些在
我最近开始使用jsdoc注释来记录我们的javascript代码,但是我发现@param标记用法的冲突示例。 请参见https://code.google.com/p/jsdoc-toolkit/wi
甚至意识到:=IF(A2=B2,"equals","not equals")大写和小写没有区别。 它提供equals比较example.com/Lesezeichen.html和 example.co
我为用户的角度添加了this question at SuperUser。 因此,我在Delphi或.NET中创建了一个将在 table 面系统上运行的应用程序。一些具有各种功能和特性的漂亮GUI。它
希望提高相当大的Python项目的质量。我对PyLint给我的警告类型感到满意。但是,它们太多了,很难在大型组织中执行。我也相信,关于下一个错误的发生位置,某些代码比其他代码更关键/更敏感。例如,我想
可用于生成“上下文相关”右键菜单的设计模式是什么?我想到了一个类似“Windows 资源管理器”的应用程序,用户可以右键单击文件夹并获取菜单项列表,但右键单击驱动器并获取完全不同的列表。我应该使用什么
由于 Firebug 的脚本面板停止工作,因此不再维护/开发 Firebug。我需要切换到 Firebug 开发人员工具,但我找不到如何在调试器面板中进行区分大小写的搜索。 内置的搜索框允许我们搜索所
我的应用程序有一个“今日小部件”,点击它会启动包含的应用程序。问题是它似乎“过于敏感”。有时,当我只是滚动时,小部件会将其识别为点击并启动应用程序。 这是我的代码: @IBAction fun
我的问题:有没有办法调整 UIPanGestureRecognizer 的“敏感度”,使其“更快”开启,即在移动较少数量的“像素”之后? 我有一个带有 UIImageView 的简单应用程序,以及与此
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 1 年前。
我正在创建一个库,用于在 Web 服务器上通过 HTTP 处理客户端缓存(即处理 If-Match、If-Modified-Since、If-None-Match 和 If-Unmodified-Si
假设我有一些简单的文档存储在 Arango 集合中,如下所示: [ {"type":Cat, "quality":Fuzzy} {"type":Dog, "quality":Barks
我试图从维基百科 API 获取电影“殿下”的描述,但它什么也没给我。 http://en.wikipedia.org/w/api.php?format=xml&action=query&titles=
jQuery :text 选择器区分大小写吗? 例如: 不匹配但是: 匹配。 情况似乎确实如此。我只是在寻找验证。 编辑 看起来甚至 [type=text] 选择器在 Chrome 和 Firef
创建新数据库时,我必须设置排序规则类型或设置其默认值....很好。 但实际上我需要知道 Kanatype Sensitive(KS) 和宽度敏感是什么意思,我知道例如区分大小写意味着字母对大写和小写敏
我目前正在构建一个 Eclipse 插件,用于创建和存储敏感数据,比如说“高分”。 由于用户只需解压 jar 文件,就可以看到项目的源代码。因此,他们能够通过更改文件本身中的数据或写入高分文件(因为他
查找实体名称时如何使 spaCy 不区分大小写? 有没有我应该添加的代码片段或其他内容,因为这些问题可能会提到不是大写的实体? def analyseQuestion(question): d
如何使网址不区分大小写 www.mysite.com/Boss/ => Works 但是 www.mysite.com/boss/ => not working www.mysite.com/BOSS
我是一名优秀的程序员,十分优秀!