【iOS Swift入門 #172】現在地の位置情報を取得する (サンプルあり)

LINEで送る
Pocket



現在地の位置情報を取得する。
まだ、すでにiOS8が出ているが、
まだiOS7を使っているユーザーが多いので、
iOS7にも対応するようにしたほうが良い。

位置情報のアクセス許可は3種類ある。
・許可しない
・アプリ使用中のみ許可 (iOS8のみ)
・常に許可

iOS7では「常に許可」であっても、
位置情報を使用できるのはアプリ使用中のみである。
アプリをバックグラウンドにしても少し待つと位置情報取得が停止される。

実装の手順を簡単に書くと、
①アプリのInfo.plistファイルにアクセス許可を求めるアラート画面で表示するメッセージを設定する

ユーザーに許可を求めるアクセス許可の種類に応じて、メッセージを設定する。

・アプリ使用中のみ許可: NSLocationWhenInUseUsageDescription
・アプリ使用中以外も常に許可: NSLocationAlwaysUsageDescription

②ソースに位置情報取得の処理を書く

実際に書いてみる。

■実装
①アプリのInfo.plistファイルにアクセス許可を求めるアラート画面で表示するメッセージを設定する()
swift172_001

②ソースに位置情報取得の処理を書く
ViewControllerを下記のとおりにした。
ボタンを押すと位置情報のアクセス許可アラートを表示する。
許可すると位置情報の取得を開始する。
位置情報を取得できると、ログに緯度と経度を表示する。

■デバッグ実行
swift172_002

swift172_003

swift172_004

■おわりに
位置情報の取得は最初書いたきり、当分見ることがなく、忘れる。
ということを何度か繰り返していたので、メモした。
サンプルをgithubにアップ。こちら

英語なので読む速度は落ちるが、英語の文献は情報量が豊富です。

Programming iOS 8: Dive Deep into Views, View Controllers, and Frameworks

【参考情報】
①iPhoneアプリ開発が初めての人。XcodeとSwift入門ならここ
絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

②中級者、上級者向け
詳解 Swift

【楽天ブックス】で見る方は
こちら

③その他
その他もろもろ

LINEで送る
Pocket