忍者ブログ
  • 2024.04«
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • » 2024.06
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/05/20 23:38 】 |
【iOS8対応】位置情報取得関連の変更点まとめ。
位置情報を使用する既存のアプリへの対処内容

カメラロール、カメラ等でも必要となります。
  1. 初回起動時に位置情報を取得することを確認するアラートが自動で表示されなくなった
  2. info-plistに1にカスタマイズして表示する位置情報取得についての内容を書かないと許可の設定値が無効になる。
  3. 位置情報の取得状態について細かく設定出来るようになった。
1.について

いままでは「"(アプリ名)"は現在の位置情報を利用します。よろしいですか?」というアラートが自動で表示されていた。
表示されるタイミングはユーザーが「許可しない」「OK」どちらも設定していない状態。
つまり設定値がNULLの状態のときのみ表示されていました。

iOS8からこのアラートの表示に関してソースコード上に書く必要があります。
特にこの機能が必要なければ書く必要はありません。(そんなケース稀でしょうが)

またこの設定値がNULLである状況は

・初めてアプリをインストールした時
・アプリをアンインストールした時

になります。

つまり
・アプリの更新の際はNULLではなく以前のバージョンの設定値を引き継ぐ
・OSバージョンアップの際は以前のバージョンの設定値を引き継ぐ

ということです。

なのでiOS8の端末でアプリがない状態でインストールした際にユーザーが「なんでアプリ動かないんだろう?」と困惑しないように実装する必要があります。

CLLocationManager *locationManager = [CLLocationManager new]; 
[locationManager requestAlwaysAuthorization];

これでアラートが表示されます。ただし、あくまでもNULLのときだけなので毎回聞く様名ことにはなりません。常時許可の設定になります。

2.について
これはOSバグに繋がります。
info.plistにNSLocationAlwaysUsageDescriptionもしくはNSLocationWhenInUseUsageDescriptionの項目を追加しないと、位置情報サービスの許可設定が端末に保持されず、毎回設定が必要になります。
対応する必要のある設定値の記述のみで大丈夫です。

元々この設定値は1.のアラートの下にカスタムメッセージを設定する際のメッセージ文言を設定するものでした。そのため必要なければ空でも大丈夫です。あくまでも項目として追加する必要があります。

3.について
許可の種類が常時許可とフォアグラウンド時のみの許可のとなりました。
iOS7までの位置情報サービスの「許可」にあたる設定は常時になります。


以上iOS8に対応したいアプリが位置情報を使っている場合に最低限対応する必要のあるまとめです。
PR
【2014/11/05 21:52 】 | Objective-C | 有り難いご意見(0)
| ホーム | iOS8でUITableViewCellの階層構造が変わった。>>
有り難いご意見
貴重なご意見の投稿















| ホーム | 次ページ

忍者ブログ [PR]