- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 Swift 2.0 应用程序中,我使用 CoreLocation 检查用户是否在某个地方的 1 公里以内,如果在,我使用 AVFoundation 播放声音。
问题是,当我开始在 didUpdateLocations 中播放音频时,它会停止更新,即使在音频停止后也是如此。
这是我的代码:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
//Method called every time the location is updated by CoreLocation
let userLocation = locations[0]
var i = 0
while i < coordinates.count {
//Looping through all different coordinates
let location = CLLocation(coordinate: coordinates[i], altitude: 0, horizontalAccuracy: kCLLocationAccuracyBest, verticalAccuracy: kCLLocationAccuracyBest, timestamp: NSDate())
if userLocation.distanceFromLocation(location) < 1001 {
//If the user is within 1000m of area[i]
if player.rate == 0.0 {
//Checks for the player already playing something else
if let url = NSBundle.mainBundle().URLForResource(titles[i], withExtension: "mp3") {
player.removeAllItems()
player.insertItem(AVPlayerItem(URL: url), afterItem: nil)
player.play()
i = 10 //We had an area that was closer and the player is finished, so we stop the loop
}
}
} else {
//This location was further than 1000 meters, so we up the count and check the next coordinate
i += 1
}
}
}
由于 didUpdateLocations 刚刚停止更新,当用户进入另一个区域时我无法播放音频。非常感谢您的帮助!
谢谢
最佳答案
如果 player.rate != 0.0 或“if let url”条件为假,您的 while 循环似乎会卡住,因为 i 值不会改变。我可能是错的,但根据查看此页面上的代码,情况似乎是这样。
关于swift - didUpdateLocations 停止更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39456732/
我正在尝试在我的示例应用程序中实现经度和纬度。我使用 iPhone 5s 设备进行测试。它不会对按钮操作的纬度和经度标签产生任何影响。 在编译 Xcode 之前,在 didUpdateToLocati
我的应用程序中的定位服务在您第一次运行时无法正常工作。第二次,以及之后的任何时候,它都可以正常工作。这是我的代码: - (void)viewDidLoad { [super viewDidLoad];
我有一个 iOS 应用程序,它启用了用于远程通知的后台模式。整个过程中使用的 CLLocationManager 实例是通过 requestAlwaysAuthorization 进行授权的。 我有一
假设我已打开所有设备,WIFI、GPS 和 CELL。然而,我在地铁里,所有这些都被封锁了。 如果我执行 startUpdatingLocation,是否会出现超时消息?它从哪里来? (注意:我相信它
我想知道当我的手机处于稳定位置时 locationManager:didUpdateLocations: 会调用吗? 就我而言,当我将手机放在一个地方时,它不会打电话。 我将手机从房间内的一个位置放置
因此,我的应用需要每隔 15 米捕获一次位置。 在viewDidLoad中 NSOperationQueue.mainQueue().addOperationWithBlock { self.
应用程序启动后,我需要检查位置并将其发送到服务器。之后,我需要每公里检查一次位置。 因此,当我开始位置更新时,我将 distanceFilter 设置为 none,在接收到第一个位置时,我将其更改为
我正在使用 CLLocationManager 开发 ios 应用。 直到ios10,我调用了startUpdatingLocation,然后调用了didUpdateLocations,得到了一个Lo
在我的 Swift 2.0 应用程序中,我使用 CoreLocation 检查用户是否在某个地方的 1 公里以内,如果在,我使用 AVFoundation 播放声音。 问题是,当我开始在 didUpd
假设您想将 MapView 聚焦在当前位置,然后在 didUpdateLocation 中编写一些代码来处理当前位置坐标。 但是,如果您不在 CLLocationManager 对象上调用 reque
我的方法 didUpdateLocations 似乎从未被调用过?为什么是这样?我已将 key 添加到 info.plist 这是我的代码: override func viewDidLoad() {
func startLocationManager() { if CLLocationManager.locationServicesEnabled() { l
我正在尝试实现延迟位置更新以获得更好的电池消耗。我正在这样启动我的位置管理器: - (void)initCoreLocation { self.locationManager = [[CLLo
我将我的对象设置为 locationManager 的委托(delegate),并调用了 didChangeAuthorizationStatus 方法,它执行以下操作: func locationM
我想制作一个简单的 IOS 6.0 应用程序,每次更改位置时都会在屏幕上显示纬度/经度。 ViewController 文件非常简单。 我分配一个 CCLocationManager 对象,设置它的变
当应用处于事件状态并在前台运行时,didUpdateLocations 工作正常,但一旦应用进入后台,它就会停止工作 在.h文件中 @property (nonatomic, strong) CLLo
我正在尝试获取我的当前位置,但从未调用 didUpdateLocations 中的断点。 位置管理器: locationManager = [[CLLocationManager alloc] ini
我正在尝试获取用户的位置。为此,我在 info.plist 中设置了以下属性: 我还在 viewDidLoad 方法和下面的函数中添加了以下代码。问题是 locationManager(manager
我在用户位置和其余代码方面遇到问题... 我开发了一个代码,可以从 Foursquare API 检索某个位置的餐馆。我要解决的问题是: 这是我用来检索信息的 URL 字符串(纬度和经度是硬编码的,只
我使用的是XCode7.2版本 我尝试使用locationManager委托(delegate)函数 func locationManager(manager: CLLocationManager,
我是一名优秀的程序员,十分优秀!