[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 {
            // その場から離れた時のメソッド
        }
    }
 
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です