13

位置情報サービスが有効になっている場合、デバイス (iPod Touch 2G iOS 4.1) をテストしました

permitted = [locationManager locationServicesEnabled];

位置情報サービスが有効になっているかどうかに関係なく、常にYESになります。アプリ固有のボタンではなく、位置情報サービスの一般的なボタンについて話しています。iOS 3.2.2 を搭載した iPad では、すべて正常に動作しています。

4

6 に答える 6

35

[locationManager locationServicesEnabled]これはiOS 4.0 から非推奨になっていることに注意してください。[CLLocationManager locationServicesEnabled]代わりにクラス メソッドを使用してください。

アプリ固有のボタンは、

[CLLocationManager authorizationStatus]
于 2011-03-01T21:40:38.697 に答える
8

使用する場合

[CLLocationManager locationServicesEnabled]

次に、locationServicesがシステム全体で有効になっているかどうかを調べます。したがって、[設定]-> [位置情報サービス]に移動すると、最初のスイッチが表示されます。そのメソッドはその状態の状態を返し、アプリとは関係ありません。

アプリが位置情報サービスにアクセスできるかどうかを知る必要がある場合は、@Pascaliusの回答を使用してください。

于 2012-12-10T10:32:32.580 に答える
4

ロケーション マネージャーのデリゲートを実装するときは、didFailWithError を実装する必要があります。ユーザーが場所へのアクセスを許可しなかった場合、適切なエラーが表示されます

Apple ドキュメントの状態: ユーザーがアプリケーションによる位置情報サービスの使用を拒否した場合、このメソッドはkCLErrorDeniedエラーを報告します。このようなエラーを受け取ったら、位置情報サービスを停止する必要があります。

于 2010-10-27T14:06:42.810 に答える
0

[CLLocationManager locationServicesEnabled] は、ユーザー設定ボタンがオフに切り替えられたときに NO を返します。そのときだけ、NO を達成しました。

于 2014-02-17T15:12:02.717 に答える