Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What is going on with this article?

More than 5 years have passed since last update.

@leegun

【Swift】CLLocationManagerを使った位置情報取得アプリ

Androidでは試したことのある位置情報取得処理ですが、iOSではどのように書けば良いのか前々から気になってまして、今回やっと重い腰を上げてさらにQiitaに初投稿してみました!

色々な記事を拝見しているとSwiftで書いている記事が多くなってきたのでSwiftで書いてみました。
クラス名やメソッド名はObjective-cと同じだし、すぐ慣れると思ってましたが、オブジェクトの初期化するだけでどうするのかわからずググりました・・・><;

Objective-cでは初期化を下記のように書きましたが

NSObject * obj;
obj = [[NSObject alloc] init];

Swiftでは下記のように書きます。

var obj : NSObject!
obj = NSObject()

シンプルになってわかりやすいですね!
これからの新規プロジェクトはSwiftで行く予定です!

話が逸れましたが、今回はCLLocationManagerを使って位置情報取得です。

Simulator Screen Shot 2016.02.21 17.18.16.png

上記のようなレイアウトで試しました。
「位置取得」ボタンをタップするとTextFieldに緯度経度が表示されます。

ハマリポイントはinfo.plistに下記のKeyを追加する必要がある点です。
NSLocationAlwaysUsageDescription
NSLocationWhenInUseUsageDescription

スクリーンショット 2016-02-21 17.48.40.png

左上のプロジェクトをタップしてinfoタブを選択、+ボタンで追加します。

CoreLocation.frameworkの追加も忘れずに

スクリーンショット 2016-02-21 17.51.32.png

一瞬で取得がされるので驚きました!

githubにてサンプルを公開してます。
https://github.com/leegun/cllocationmanagerexsample

7
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
7
Help us understand the problem. What is going on with this article?