2

カスタム クラスを使用してユーザーの場所を更新しています。クラスを初期化するときに、クラスで使用する CLLocationManager オブジェクトを作成します

CLLocationManager *locManager = [[CLLocationManager alloc] init];
[self setLocationManager:locManager];

nil を返す行はCLLocationManager *locManager = [[CLLocationManager alloc] init]; です。これが問題の原因です。

このコードは、ほとんどの場合うまく機能します。しかし、ある特定のデバイス (OS バージョン 3.1) では、init は nil を返します。CLLocationManager が初期化時に nil を返す理由は何ですか?

ありがとう。

4

1 に答える 1

2

アプリケーションが最初に位置情報サービスを初期化するとき、OS はユーザーにこれでよいかどうか尋ねます。彼らがノーと言った場合、その後の実行でゼロになる可能性があります。これを確認して、機能を正常に低下させることができます。

于 2009-11-12T16:30:41.073 に答える