0
好的,这里有一个难题(对我来说)...我的应用程序有一个按钮,用于检查用户是否靠近企业。按钮的工作原理几乎完全由当按下它执行以下操作:位置在应用程序发送到后台后停止更新
- 获取用户的纬度和经度坐标
- 将用户的纬度和经度坐标PHP脚本
- PHP脚本比较的距离在用户和业务之间。如果用户在100英尺内,则脚本返回1,如果用户不在100英尺内,则脚本返回0.
- 最后,应用程序会显示一条警告,指出用户距离不到100英尺,或者超过100英尺远
就像我提到的,这个工作几乎完美。当我接近建筑物时,我可以走向一个企业,不断点击按钮,当我接近时,警报会告诉我,我不到100英尺远。
我的问题是,如果我在走路时将应用程序发送到背景,则警报显示错误信息。例如,我从很远的地方打开应用程序,然后我将应用程序发送到后台并接近业务,然后当我在业务旁边时,我将应用程序放到前台并单击按钮,它说我在100英尺以外。任何人有任何想法,为什么这可能会发生?
在我viewDidLoad方法:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(appReturnsActive) name:UIApplicationDidBecomeActiveNotification
object:nil];
在appReturnsActive方法:
- (void)appReturnsActive{
locationManagerProfile.delegate = self;
locationManagerProfile.desiredAccuracy = kCLLocationAccuracyBest;
[locationManagerProfile startUpdatingLocation];
[locationManager startUpdatingLocation];
}
谢谢,让我们说我希望它立即开始更新,当我把它带回到前台。我已更新我的问题,以显示appDidWaken可能的样子... – Brandon
更新位置需要时间。如果在应用程序处于后台时没有其他应用程序或系统更新位置信息,则无法立即获取当前位置。 – cahn