MapView を使用してアプリを開発しました。アプリが起動すると、コーディングなしで自分の場所にアクセス/使用することを許可するようにユーザーに求めます。これは許可として十分でしょうか、それともユーザーに具体的に尋ねて、アクセスの理由を提供する必要がありますか? 私が特にリクエストを行わず、MapView が私に代わってこれをリクエストすることを許可しない場合、Apple は送信時にアプリを拒否しますか?
3 に答える
ユーザーに許可を求める必要はありません。iOS が自動的に行います。
CLLocationManager オブジェクトに目的の文字列プロパティを設定して、システムが尋ねたときに、位置情報が必要な理由もユーザーに伝えることができるようにする必要があります。
locationManager.purpose = @"Location needed to show zombies that are nearby.";
位置情報を使用する許可を求めるシステム アラートでユーザーに表示されるように、呼び出す前にこのプロパティを設定します。startUpdatingLocation
デリゲートでは、メソッドlocationManager:didChangeAuthorizationStatus:を実装して、ユーザーがコア ロケーションを許可したかどうかを知ることができます。
iOS 6の時点で、「目的」メッセージの正しい場所はInfoplistファイルにあります。
NSLocationUsageDescriptionプロパティは、ユーザーに表示するメッセージとともに設定する必要があります
Appleは優れたドキュメントを提供しています: https ://developer.apple.com/library/mac/#documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html
アプリケーションが場所とマッピングに基づいている場合は特に、場所がアクセスされている理由をユーザーに伝える必要はありません。そうは言っても、パーミッションポップアップが表示される前に、データをどうするかをユーザーに正確に伝えて、より多くのユーザーが受け入れてくれることを願っています。