IOS
 Computer >> コンピューター >  >> プログラミング >> IOS

iOSで実行時にロケーション許可をリクエストする方法


ロケーションパーミッションをリクエストするには、AppleのCLLocationManagerクラスを使用します。このクラスのインスタンスを使用して、コアロケーションサービスを構成、開始、および停止します。

CLLocationManagerクラスの詳細については、こちらをご覧ください。

https://developer.apple.com/documentation/corelocation/cllocationmanager

iOSアプリは、2つのレベルの位置情報アクセスのいずれかをサポートできます。

  • アプリの使用中 −アプリは、アプリの使用中にデバイスの場所にアクセスできます。これは「使用時認証」とも呼ばれます。

  • 常に −アプリは、アプリの使用中またはバックグラウンドでデバイスの場所にアクセスできます。

ここでは、使用中の承認を使用します。アプリの実行中にのみ位置情報サービスを使用するための承認をリクエストします。

https://developer.apple.com/documentation/corelocation/choosing_the_authorization_level_for_location_services/requesting_when-in-use_authorization

ステップ1 − Xcode、シングルビューアプリケーションを開き、LocationServicesという名前を付けます。

ステップ2 − Main.storyboardを開き、ボタンを1つ追加して、getLocationという名前を付けます。

iOSで実行時にロケーション許可をリクエストする方法

ステップ3 − ViewController.swiftに、ボタンの@IBActionを追加します

@IBAction func btnGetLocation(_ sender: Any) {
}

ステップ4 −ロケーションクラスを使用するには、Corelocationをインポートします。 CoreLocationをインポート

ステップ5 − info.plistを開きます(アプリの実行中に位置情報の更新のアクセス許可を有効にするには、特別なキーが必要です)。右クリックして[行の追加]を選択します。次の値を入力します。

iOSで実行時にロケーション許可をリクエストする方法

ステップ6 ViewController.swiftを開き、CLLocationManagerのオブジェクトを作成します。

let locationManager = CLLocationManager()

ステップ7 − ViewController.swiftで、ボタンアクションに次のコードを追加します

@IBAction func btnGetLocation(_ sender: Any) {
   let locStatus = CLLocationManager.authorizationStatus()
   switch locStatus {
      case .notDetermined:
         locationManager.requestWhenInUseAuthorization()
      return
      case .denied, .restricted:
         let alert = UIAlertController(title: "Location Services are disabled", message: "Please enable Location Services in your Settings", preferredStyle: .alert)
         let okAction = UIAlertAction(title: "OK", style: .default, handler: nil)
         alert.addAction(okAction)
         present(alert, animated: true, completion: nil)
      return
      case .authorizedAlways, .authorizedWhenInUse:
      break
   }
}

authenticationStatusは、現在の認証ステータスをlocStatusに返します。使用中の認証は、アプリがフォアグラウンドにあるときに位置情報の更新を取得します。位置情報サービスが無効になっている場合、位置情報サービスが無効になっているというメッセージとともにアラートがユーザーに表示されます。

アプリケーションを実行してみましょう

iOSで実行時にロケーション許可をリクエストする方法


  1. Android で GPS 位置情報を偽装する方法

    すべての Android デバイスには GPS がサポートされているため、Google マップ、Uber、Facebook、Zomato などのアプリで現在地を追跡できます。 GPS 追跡は、天気、ローカル ニュース、交通状況、近くの場所やイベントに関する情報など、現在地に関連する情報を受け取ることができるため、非常に重要です。党のアプリであり、政府は一部の人にとって非常に威圧的です.また、地域限定のコンテンツへのアクセスも制限されます。たとえば、あなたの国で禁止されている映画を見たい場合、その唯一の方法はあなたの実際の場所を隠すことです. 実際の場所を非表示にして、代わりに偽の場所を使

  2. iOS 12 でメッセージ内の写真にアクセスする方法

    iOS 3 がリリースされて以来、Apple デバイスのメッセージ経由で動画や写真を送信できます。そのためには、カメラ アイコンをタップして、送信する写真またはビデオを選択するだけです。 iOS 12 では、状況が変わりました。ただし、これは完全に無効になっているという意味ではありません。 iOS 12 では、メッセージでカメラ アイコンをタップすると、iPhone のカメラが起動して新しい写真やビデオをキャプチャします。写真をクリックしたり、Apple のすばらしいカメラ効果を使ってビデオを撮影したり、図形やステッカー パックなどを追加したりできます。メッセージのフォト ライブラリにアクセ