iPhone と iPad の両方をサポートする ios アプリケーションを開発しました。
そのアプリケーションでは、位置追跡機能を統合しました。
これが私がそれを実装した方法です。
//start monitoring for region for checked in location
CLLocationCoordinate2D centerCoordinate = CLLocationCoordinate2DMake(latitude,longtitude);
regionalMonitor = [[CLRegion alloc] initCircularRegionWithCenter:centerCoordinate radius:REGIONAL_MONITOR_RADIOUS identifier:@"checkedIn"];
[locationManager startMonitoringForRegion:regionalMonitor];
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
NSLog(@"didEnterRegion");
}
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
NSLog(@"didExitRegion");
}
- (void)locationManager:(CLLocationManager *)manager monitoringDidFailForRegion:(CLRegion *)region withError:(NSError *)error
{
NSLog(@"Region monitoring failed with error: %@", [error localizedDescription]);
}
このメソッドは、iPhone アプリケーションで完全に機能します。しかし、iPadでそれらを実行しようとすると
monitoringDidFailForRegion
メソッドが呼び出されます。しかし、iPadシミュレーターでは完全に機能します。
何か特別な理由があるのでしょうか、それともこのデバイス指向のバグですか。私がコメントすると
[locationManager startMonitoringForRegion:regionalMonitor];
その後、 monitoringDidFailForRegion メソッドは呼び出されません
ログ メッセージ - 領域の監視が次のエラーで失敗しました:操作を完了できませんでした。
ありがとう