2011-09-15 8 views
1

固定位置アップデートに完全に依存するアプリケーションがあり、デバイスがWiFiネットワークに接続されていても電話機がGPSを取得していないときdidUpdateToLocationが呼び出されていないことがわかりました。このテストをさらに進めるために、私は第4世代iPod Touchに同じ結果でアプリをロードしました。CLLocationManagerがWi-Fi経由でロケーションを更新しない

GPSが利用可能なときに明確にするために、アプリはiPhone 4で完全に機能します。私たちはクライアントが彼のオフィスで自分のiPhone 4でそれをテストしてからgpsを得られないことを知るまで、この問題に気付かなかった。

ロケーションマネージャがロケーションを特定する方法としてWi-Fiをサポートすると考えられましたが、これは当てはまりません。私の知る限り思ったとして、あなたはWiFi経由locationManagerの仕事をするためにしなければならないことを何か特別なことがない

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

if (locationManager==nil) { 
    locationManager = [[CLLocationManager alloc] init]; 
    locationManager.delegate = self; 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    locationManager.distanceFilter = kCLDistanceFilterNone; 

    NSLog(@"Accuracy best: %f distance filter none: %f", kCLLocationAccuracyBestForNavigation, kCLLocationAccuracyNearestTenMeters); 
} 
[locationManager startUpdatingLocation]; 

... 

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 
{.... 

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error 
{.... 

- そして今、私はそれが動作しません見つける:ここ

は私のコードですまったく。

BTW-私の携帯端末は、iOS 5ベータ7とiOS 4.1を搭載したiPhone 4です。

+0

GPSを搭載したiPhone 4で動作していることを確認しましたか? –

+0

はい。このコードは、GPSが利用可能なときにiPhone 4で動作しているときに完璧に機能します。 –

+0

興味深い。私が見ることができるから、そうしてはならない理由はありません。あなたは、位置監視サービスが利用可能であるかどうか尋ねることができます。たぶん彼らはそのデバイスで許可されていないかもしれません。 [CLLocationManager locationServicesEnabled]; bool値を返す必要があります。 –

答えて

1

私は、didUpdateLocationが呼び出されていることを発見しました。アプリが最初に開くときに一度呼び出されました。 Wi-Fiのみを扱っている場合、ロケーションマネージャーは startMonitoringSignificantLocationChangesモードのみです。

0

てみ呼び出し:

[self.locationManager startUpdatingLocation]; 

可能なあなたにもself.locationManagerにお住まいの地域のマネージャー・パラメーターを設定する必要があります。

0

Wi-Fiアクセスポイントが不明であるように聞こえます。コーディングエラーではないことを確認するには、シミュレータでSafariを起動し、自分の場所を見つけるかどうかを確認します。そうでない場合、問題は不明なWi-Fi APです。解決策は、あなたのAPを外部に知らせることです。それを行うには、http://www.skyhookwireless.comに行き、指示を読んでください。このサイトでは、XPSシステムのWi-Fiアクセスポイント情報を更新できます。注:私が夢中になるまでに6週間かかりましたが、今は動作します。

関連する問題