我正在尝试制作一个基于位置的应用程序,该应用程序需要在打开后不断更新位置。我一直在寻找一种在应用程序关闭时将位置保留在后台的方法,但我发现这不是最好的方法,因为它会很快耗尽任何 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];
}
我终于意识到该方法被调用但只有当我离开大部分区域并回到该区域时,这表明它不起作用,因为我已经在那个位置(所有这些都在模拟器中),奇怪的事情是不是,模拟器的位置距离监控区域很远!这使我认为这是准确性问题,尽管创建半径为 50 或 100 米的区域正在传播 3 或 4 公里,所以我没用。
有没有人经历过这知道 iOS 6 模拟器是否有此错误或精度问题?我还没有开发者许可证来直接在我的 iPhone 上测试它,我还不想购买它,因为我的应用程序还远未完成,我感谢任何关于这个主题的帮助。
提前致谢。