web-dev-qa-db-ja.com

Xcode 4.1(LION)GPSエラーを解決する方法は?

私のプロジェクトはシミュレーター+デバイスで完全に機能しました。
しかし今、lion osおよびxcode 4.1にアップグレードした後、gpsがアクティブなときにこのエラーが発生します!

server did not accept client registration 68

これはgpsベースのアプリケーションであり、シミュレーターでアプリをデバッグしないのは緊張しています。

この問題を解決するためのアイデアはありますか?


[〜#〜] update [〜#〜]:シミュレータのGPSは、Xcode 3.2.6 + LIONでも機能しません。


[〜#〜] edit [〜#〜]:Appleバグトラッカーへの応答:

さらに調査した結果、これは既知の問題であることが判明し、現在エンジニアリングによって調査されています。この問題は、元のバグID番号でバグデータベースに報告されています。このバグレポートを送信していただきありがとうございます。バグの発見と切り分けにご協力いただき、誠にありがとうございます。

52
elp

Xcode 4.2は、カスタムgps位置を追加することでこの問題を解決しました!

ファイルは次のようなXMLです。

<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode"> 
  <wpt lat="45,49939" lon="9,12114">
    <name>Milano</name>
  </wpt>
</gpx>

このファイルは、プロジェクトまたは[新規]-> [ファイル]-> [GPX]に追加できます。

アプリの実行中に、コンソールをアクティブにして、カスタム位置ファイルを選択します。

enter image description here

それがすべてです。
楽しい。

8
elp

Big Nerd Ranchフォーラムから:

@implementation CLLocationManager (TemporaryHack)
- (void)hackLocationFix {
    CLLocation *location = [[CLLocation alloc] initWithLatitude:42 longitude:-50];
    [[self delegate] locationManager:self didUpdateToLocation:location fromLocation:nil];     
}
- (void)hackHeadingFix {
    [[self delegate] locationManager:self didUpdateHeading:(id)@"That way.."];
}
- (void)startUpdatingLocation {
    [self performSelector:@selector(hackLocationFix) withObject:nil afterDelay:0.1];
}
- (void)startUpdatingHeading {
    [self performSelector:@selector(hackHeadingFix) withObject:nil afterDelay:0.1];
}
@end
2
Vaibhav Garg

同じ問題が発生し、解決策を探したところ、少なくとも回避策が見つかりました: iPhone SimulatorでCoreLocationをテスト -実際には機能しませんが、私の場合はダミーが必要でしたとにかく場所。

それを機能させるには、リンクされたコードをヘッダーファイルにコピーし、その下にリンクするだけです。

#import <CoreLocation/CoreLocation.h>

このような:

#import <CoreLocation/CoreLocation.h>
#import "CoreLocation_Sim.h" 
1
John Doe

BNRコードのやや強化されたバージョンについては、 http://Pastebin.com/7hvFiXCg を参照してください。 CLHeadingのサポート、その他の調整が含まれます。楽しい!

0
Joe D'Andrea