我有一个MKMapView&我用它来显示用户的当前位置。当我第一次在App中加载它时,它正常工作。但是,当我按下主页按钮将应用程序放到后台&从后台调用它,地图提示它无法找到用户的位置。
我在想MKMapView是否需要时间来搜索用户的位置,当我从后台调用它时,它没有足够的时间来加载位置服务?
iOS5 SDK,使用xCode 4.3。
答案 0 :(得分:1)
如果我正确理解您的问题,您的问题是,当您的应用恢复(变为有效)时,mapView.userLocation
将返回nil。虽然我没有对此进行测试,但我怀疑是因为mapView需要一些时间来重新定位用户。您可以通过将您的逻辑添加到相应的委托方法来解决此问题,即- (void) mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
,如果内存对我有用(您可能想要验证它)。
编辑:确保在设备上测试与位置相关的代码,因为它的行为可能与模拟器不同。