- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的代码包含在下面。它是一个旨在返回当前位置坐标的类。我得到的唯一输出是“之前之后之前之后” - 围绕 requestAlwaysAuthorization 的打印行。然后应用程序崩溃。请求对话框有时会短暂显示,有时会持续几秒钟。有几次我什至可以按“确定”。该应用程序总是崩溃。我在 xCode 7.0 和现在的 xCode 7.0.1、iOS 9.0 中都遇到过这个问题。我在 StackOverflow 上到处搜索,关于这个主题的大多数问题都是针对 xCode 和 iOS 的早期版本,并且发布的解决方案对我的情况没有帮助。于是就有了这个问题。我还发现 YouTube 教程基本上可以完成我正在做的事情,但没有什么乐趣。我的 plist 中也有 NSLocationAlwaysUsageDescription,并且我有 Privacy - Location Usage Description 和 NSLocationWhenInUseUsageDescription 来作为很好的衡量标准。我还尝试通过 Product\Scheme 菜单从 xCode 发送位置,并且还尝试使用模拟器的 Debug\Location。我为每个尝试了几种不同的位置选项。模拟器的 map 应用程序似乎总是有效。 Apple 的 LocateMe(用 Objective C 编写)也可以使用。 Swift 2(我下面的代码)失败。
import CoreLocation
class TheCurrentLocation: NSObject, CLLocationManagerDelegate {
var locationManager: CLLocationManager!
var latitude: Double = 0
var longitude: Double = 0
var locationStatus: NSString = "Not Started"
func initialize() {
self.locationManager = CLLocationManager()
self.locationManager.delegate = self
self.locationManager.desiredAccuracy = kCLLocationAccuracyKilometer
print("before")
self.locationManager.requestAlwaysAuthorization()
// self.locationManager.requestWhenInUseAuthorization()
print("after")
} // END: initialize()
func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
self.locationManager.stopUpdatingLocation()
print("ERRORS: " + error.localizedDescription )
} // END: locationManager delegate didFailWithError
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations.last
let center = CLLocationCoordinate2D(latitude: location!.coordinate.latitude, longitude: location!.coordinate.longitude)
self.locationManager.stopUpdatingLocation()
print ("ta da")
self.latitude = center.latitude
self.longitude = center.longitude
} // END: locationManager delegate didUpdateLocations
func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
var isAllowed = false
switch status {
case CLAuthorizationStatus.Restricted:
locationStatus = "Restricted Access to Location"
case CLAuthorizationStatus.Denied:
locationStatus = "User Denied Access to Location"
case CLAuthorizationStatus.NotDetermined:
locationStatus = "Location Status Not Determined"
default:
locationStatus = "Allowed Access to Location"
isAllowed = true
} // END switch status
if (isAllowed == true) {
NSLog(String(locationStatus))
self.locationManager.startUpdatingLocation()
} else {
NSLog(String(locationStatus))
}
} // END: locationManager delegate didChangeAuthorizationStatus
} // END: theCurrentLocation
最佳答案
我想我知道可能是什么原因造成的。你不能同时拥有 NSLocationAlwaysUsageDescription 和 NSLocationWhenInUseUsageDescription。只有其中之一。我想我以前遇到过这个问题。尝试删除其中一个,看看是否可以解决问题。
关于iOS 模拟器崩溃 requestAlwaysAuthorization(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33203712/
我的代码包含在下面。它是一个旨在返回当前位置坐标的类。我得到的唯一输出是“之前之后之前之后” - 围绕 requestAlwaysAuthorization 的打印行。然后应用程序崩溃。请求对话框有时
我一直在尝试使用一些花哨的 iBeacons 但没有成功,kCLAuthorizationStatusNotDetermined。根据其他问题,需要将这些键添加到 info.plist (有些问题说一
CLLocationManager requestAlwaysAuthorization 弹出窗口立即显示和隐藏,让用户没有时间按下允许按钮。这是我为位置管理编写的类: import UIKit cl
在用户第一次选择“不允许”选项后,调用 [CLLocationManager requestAlwaysAuthorization] 不会显示警报。有没有办法强制应用程序在需要时再次显示警报? 最佳答
我在 plist 上有这段代码: NSLocationUsageDescription Usage NSLocationWhenInUsageDescription WhenIn NSLocation
当请求用户的 iOS 位置权限时,我如何知道 locationManager.requestAlwaysAuthorization() 是否已经被请求给用户? 如果用户有 .AuthorizedWhe
我有一个关于 CLLocationManager 的问题。在请求许可后,我想立即使用 locationServices。我在 viewDidLoad: 中的代码如下所示: if (![CLLocati
我正在尝试使用多步骤过程请求用户的位置;但是,当调用 requestAlwaysAuthorization 时,如果未执行,我想移动以显示消息。 让我通过展示我的流程来更好地解释 这是我目前的流程 请
我的应用曾经使用 requestAlwaysAuthorization 和 NSLocationAlwaysUsageDescription 的 Info.plist 条目。 我将其更改为使用 req
我正在尝试对用户的位置状态进行验证。我实例化了 CLLocationManager,每当我尝试调用 requestAlwaysAuthorization 或 requestWhenInUse 时,我都
在 iOS13 上请求 Always 权限期间,用户可以点击“允许一次”,这将调用状态为 kCLAuthorizationStatusAuthorizedWhenInUse 的适当委托(delegat
didEnterRegion 和 didExitRegion 仅在我请求并允许始终授权 CoreLocation 后调用 即使我请求 WhenInUseAuthorization didExit 和
我有 requestAlwaysAuthorization,如果用户不接受 requestAlwaysAuthorization 我想在应用程序中退出? How can I do it ? 我的代码在
这是我的代码,显示 map 上当前位置的警报和蓝点: MapName.h #import #import #import @interface MapName : UIViewControlle
我在 IOS Ask Request Permission for Location Usage in Always 上遇到了问题。 IOS 8.0 Swift 请求位置权限 requestAlway
当我的应用程序在后台运行时,我真的很想看到显示“____ 正在使用您的位置”的蓝色条,因为这有利于用户体验。我只能在使用 requestWhenInUseAuthorization 并在 plist
当应用在 iOS 13 中使用 requestAlwaysAuthorization 在 CLLocationManager 中请求地理定位时,用户似乎无法获得 Always Allow 选项。它显示
我正在快速开发一个简单的 ios 应用程序,它获取用户的位置并显示位置。我需要将此应用程序设置为针对 ios 7.0 及更高版本,以便 iPhone 4 用户可以使用此应用程序。但是,当我设置Depl
我是一名优秀的程序员,十分优秀!