私のプロジェクトはシミュレーター+デバイスで完全に機能しました。
しかし今、lion osおよびxcode 4.1にアップグレードした後、gpsがアクティブなときにこのエラーが発生します!
server did not accept client registration 68
これはgpsベースのアプリケーションであり、シミュレーターでアプリをデバッグしないのは緊張しています。
この問題を解決するためのアイデアはありますか?
[〜#〜] update [〜#〜]:シミュレータのGPSは、Xcode 3.2.6 + LIONでも機能しません。
[〜#〜] edit [〜#〜]:Appleバグトラッカーへの応答:
さらに調査した結果、これは既知の問題であることが判明し、現在エンジニアリングによって調査されています。この問題は、元のバグID番号でバグデータベースに報告されています。このバグレポートを送信していただきありがとうございます。バグの発見と切り分けにご協力いただき、誠にありがとうございます。
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]に追加できます。
アプリの実行中に、コンソールをアクティブにして、カスタム位置ファイルを選択します。
それがすべてです。
楽しい。
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
同じ問題が発生し、解決策を探したところ、少なくとも回避策が見つかりました: iPhone SimulatorでCoreLocationをテスト -実際には機能しませんが、私の場合はダミーが必要でしたとにかく場所。
それを機能させるには、リンクされたコードをヘッダーファイルにコピーし、その下にリンクするだけです。
#import <CoreLocation/CoreLocation.h>
このような:
#import <CoreLocation/CoreLocation.h>
#import "CoreLocation_Sim.h"
BNRコードのやや強化されたバージョンについては、 http://Pastebin.com/7hvFiXCg を参照してください。 CLHeadingのサポート、その他の調整が含まれます。楽しい!