'openURL' was deprecated in iOS 10.0: Please use openURL:options:completionHandler: instead と言われた

openURLは廃止になった

openを利用する。

completionHandlerを利用する

openの関数定義

func open(_ url: URL, 
  options: [UIApplication.OpenExternalURLOptionsKey : Any] = [:], 
completionHandler completion: ((Bool) -> Void)? = nil)

引数は3つ

1-url アクセス先のurl
2-options

URLを開くときに使用するオプション。辞書型。キーを予め登録しておくことで、すぐに開くことができます。

3-ハンドラ

ユーザーのアクションが帰ってきたときに実行される。 実装コードは下記

   override func mapAgent(_ mapAgent: MsMapAgent, showGoogleMap datPerson: DatPerson) {
        let jusho = datPerson.jusho ?? ""
        let url = jusho != "" ?
            URL(string:"comgooglemaps://?q=\(jusho)&center=\(datPerson.latitude),\(datPerson.longitude)&zoom=14&views=traffic")!
            :
            URL(string:"comgooglemaps://?center=\(datPerson.latitude),\(datPerson.longitude)&zoom=14&views=traffic")!
        if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {

//ここが廃止になった
//            UIApplication.shared.openURL(url)
//修正後
            UIApplication.shared.open(url, options: [:], completionHandler: {(success) in
                if (success){
                    NSLog("success")
                }
            })
        } else {
            MsAlert.confirmOk(self, "Cannot open Google Maps")
        }
    }

備考 Swiftは関数を利用する時は、外部引数名を利用する。