CLLocationManagerで位置取得のバッググランドタスクがいつからか止まる
SwiftでCLLocationManagerで位置取得を行いサーバに送るプログラムを書いています。
動作自体は問題はないのですが、バックグランドに移行ししばらくは位置取得&サーバ情報送信はしばらくは動いているのですが何かのタイミングでサーバ情報送信が行われなくなります。
時間制限など何か原因はあるのでしょうか?もし対処などご存知の方はご教示いただけると幸いです。
該当ソースを添付します。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
longitude = CLLocationDegrees()
latitude = CLLocationDegrees()
keido.text = String(stringInterpolationSegment: longitude)
ido.text = String(stringInterpolationSegment: latitude)
lm = CLLocationManager()
lm.delegate = self
lm.requestAlwaysAuthorization()
lm.desiredAccuracy = kCLLocationAccuracyBest
lm.distanceFilter = 5
lm.startUpdatingLocation()
}
func locationManager(manager: CLLocationManager!, didUpdateToLocation newLocation: CLLocation!, fromLocation oldLocation: CLLocation!){
longitude = newLocation.coordinate.longitude
latitude = newLocation.coordinate.latitude
keido.text = String(stringInterpolationSegment: longitude)
ido.text = String(stringInterpolationSegment: latitude)
var myUrl:NSURL = NSURL(string: NSString(format:"http://(マスクします)/locationget.php?id=xxxxx&longitude=%@&latitude=%@",String(stringInterpolationSegment: longitude),String(stringInterpolationSegment: latitude)) as String)!
var myRequest:NSURLRequest = NSURLRequest(URL: myUrl)
NSURLConnection.sendAsynchronousRequest(myRequest, queue: NSOperationQueue.mainQueue(), completionHandler: self.getHttp)
NSLog("アップデート")
}