Swift locationManager.startMonitoring(针对:区域)错误?
我有一个奇怪的问题,我无法用我的生命去解决它 我正在创建一个监控后台区域的应用程序,但它似乎间歇性地不监控某些区域 (我已将位置权限设置为“始终”,并已启用后台位置功能) 它确实监视的区域工作正常,因此似乎与Swift locationManager.startMonitoring(针对:区域)错误?,swift,location,locationmanager,Swift,Location,Locationmanager,我有一个奇怪的问题,我无法用我的生命去解决它 我正在创建一个监控后台区域的应用程序,但它似乎间歇性地不监控某些区域 (我已将位置权限设置为“始终”,并已启用后台位置功能) 它确实监视的区域工作正常,因此似乎与locationManager.startMonitoring(for:region) 该应用程序非常简单,每次添加或编辑区域时,它都会: 停止监视所有区域 然后,如果少于20个区域,则开始监视所有区域 否则,计算最近的20并开始监控它们 这是密码 let locationManager =
locationManager.startMonitoring(for:region)
该应用程序非常简单,每次添加或编辑区域时,它都会:
let locationManager = CLLocationManager()
if(regionsArray.count <= 20{
//monitor all regions
monitorAllRegions()
}else{
//calculate closest 20 regions, and monitor them
//do some stuff here.....
}
func monitorAllRegions(){
//stop monitoring all regions
stopMonitoringAllRegions()
//start monitoring all regions in array
for region in regionsArray{
locationManager.startMonitoring(for: region)
}
//check all regions are monitored
print(regionsArray.count)
print(locationManager.monitoredRegions.count)
}
func stopMonitoringAllRegions() {
//stop monitoring all monitored regions
for region in locationManager.monitoredRegions {
locationManager.stopMonitoring(for: region)
}
}
let locationManager=CLLocationManager()
if(regionsArray.count)