開いた後に常に場所を更新する必要がある場所ベースのアプリを作成しようとしています。アプリを閉じたときに位置情報をバックグラウンドに保持する方法を探していましたが、iPhone のバッテリーがすぐに消耗してしまうため、最善の方法ではないことがわかりました。
簡単に言うと、「地域監視」で見つけたのは、Appleが位置情報でも機能するアプリ「リマインダー」に使用するものと同じであることがわかったからです。次に、そのオプションを使用してアプリをテストしましたが、正しく作成されているにもかかわらず、シミュレーターで「didEnterRegion」メソッドに「決して」入らないことがわかりました。
-(void) locationManager: (CLLocationManager *) manager didEnterRegion: (CLRegion *) region
{
NSLog (@ "entering the region");
CLLocation * location1 = manager.location;
CLLocation * location2 = [[CLLocation alloc] initWithLatitude: latitud.doubleValue longitude: longitud.doubleValue];
}
メソッドが呼び出されていることに最終的に気付きましたが、そのエリアの大部分を離れてそのエリアに戻ったときだけでした。これは、すでにその場所にいたために機能しなかったことを示しています(これはすべてシミュレーターにあります)、奇妙なことそうではなかったということです、シミュレーターの場所は監視する地域から何マイルも離れていました!半径50mや100mの領域を作ったのに、3kmや4kmに広がっていたので、精度の問題だと思います。
iOS 6 シミュレーターにこのエラーがあるかどうか、または精度の問題があるかどうかを知っている人はいますか? iPhone で直接テストするための開発者ライセンスをまだ持っていません。アプリはまだ完成していないため、まだ購入したくありません。このトピックについて何か助けていただければ幸いです。
前もって感謝します。