[swift] 滞在記録を行えるCLVisitの実装
滞在記録を行えるCLVisitの実装
CLLocation機能で場所に滞在しているをその滞在情報を発行してくれるCLVisitを実装する
サンプルコード:
import UIKit import CoreLocation @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate, CLLocationManagerDelegate { var manager: CLLocationManager! // MARK: - UIApplicationDelegate func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool { manager = CLLocationManager() manager.delegate = self; manager.requestWhenInUseAuthorization() //Location情報取得許可 return true } // MARK: - CLLocationManagerDelegate func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) { switch status { case .Authorized, .AuthorizedWhenInUse: print("位置情報利用可") // 滞在情報の取得を開始する manager.startMonitoringVisits() default: print("位置情報利用不可") } } func locationManager(manager: CLLocationManager!, didVisit visit: CLVisit!) { print("latitude : \(visit.coordinate.latitude)") print("longtitude : \(visit.coordinate.longtitude)") print("horizontalAccuracy : \(visit.horizontalAccuracy)") print("verticalAccuracy : \(visit.verticalAccuracy)") print("arrivalDate: \(visit.arrivalDate)") print("departureDate : \(visit.departureDate)") if visit.departureDate.isEqualToDate(NSDate.distantFuture()) { // 到着時のメソッド } else { // その場から離れた時のメソッド } } }