質問

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

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

NILを返すラインはです CllocationManager *locmanager = [[cllocationManager alloc] init]; これが問題を引き起こすものです。

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

ありがとう。

役に立ちましたか?

解決

アプリケーションが最初にロケーションサービスを初期化すると、OSはこれが問題ないかどうかユーザーに尋ねます。彼らがノーと言ったら、その後の実行でnilを取得することが可能です。これをチェックし、優雅に機能を劣化させることをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top