2011-08-03 13 views
6

私はiPhoneのシミュレータ4.2を使用して表示しようとしていますかNSLog見出しと他のロケーションサービスの属性。緯度、経度、高度、horizo​​ntalAccuracy、VerticalAccuracy、スピード。正しいパラメータとIncase of Headingが実際にイベントを発生させていないことを示しています。 そのようCLLocationコードは、見出しと緯度、経度を表示できるiphoneシミュレータですか?

- (void)locationManager:(CLLocationManager *)manager 
    didUpdateToLocation:(CLLocation *)newLocation 
      fromLocation:(CLLocation *)oldLocation 
{ 
    [self.delegate locationUpdate:newLocation]; 
} 

をしてCLHeadingコード

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading 
{ 
    [self.delegate headingUpdate:newHeading]; 
} 

を実行していない実行し、私はこれらの両方のコードにブレークポイントを置いたときには、CLHeadingコードには触れないでください。私はinitで位置と見出しを更新しています。

- (id) init{ 
if (self!=nil) { 
    self.locationManager = [[[CLLocationManager alloc] init] autorelease]; 
    self.locationManager.delegate = self; 
    self.locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    self.locationManager.distanceFilter = kCLDistanceFilterNone; 
    [self.locationManager startUpdatingLocation]; 
    [self.locationManager startUpdatingHeading]; 
} 
return self; 
} 

問題は、シミュレータによるものであるのか、コードに問題があるのか​​わかりません。

助けてください。

+0

そのシミュレータないあなたのコードを自分のアプリケーションをテストしていません。 – Robin

+1

これは、シミュレータにGPSトラッキングがないため、CLLocationManagerがあなたの場所を取得できないためです。 –

答えて

13

CLLocationManagerは、追加のハードウェアが必要なため、シミュレータで作業する必要はありません。ただし、this other SO questionで説明されている方法を使用してテストできます。 documentationから

いくつかのロケーションサービスは、特定のデバイス上の特定のハードウェアの存在を必要とします。たとえば、見出し情報は、ハードウェアコンパスを含むデバイスでのみ使用できます。このクラスは、現在利用可能なサービスを判断するために使用できるいくつかのメソッドを定義します。

+1

+1良い詳細な答えは:) –

3

この回答は、Xcode 4.2を使用している人には更新できます。まだベータ版の状態ですが、有料の開発者の方はアクセスできます。また、有料の開発者の場合は、WWDC 2011の優れたビデオに、シミュレータを使用して位置シミュレーションを行う方法が説明されています。

WWDC 2011

コア場所で見るの新機能およびあなたの議長離れることなく、あなたの場所-Awareのアプリケーションのテスト

**注:開発者だけが、これらのビデオへのアクセス権を持って支払ったことに改めて注意してください

2

振る舞いがデフォルトであるように見える 場所は起動しますが、見出しは表示されません。

私は...私かかわらを確認するために、実際のハードウェアに

アンソニー・デサ

+0

ようこそ。 [FAQ](http://stackoverflow.com/faq)の全セクションをお読みください。 – menjaraz

関連する問題