好的,这是一个艰难的(无论如何对我来说)......我的应用程序有一个按钮,用于检查用户是否靠近企业。该按钮在按下时通过执行以下操作几乎可以完美地工作:
- 获取用户的经纬度坐标
- 将用户的经纬度坐标传递给 PHP 脚本
- PHP 脚本比较用户和企业之间的距离。如果用户在 100 英尺内,则脚本返回 1,如果用户不在 100 英尺内,则脚本返回 0。
- 最后,应用程序会显示一条警报,提示用户距离不到 100 英尺或超过 100 英尺
就像我提到的,这几乎可以完美地工作。当我接近建筑物时,我可以不断地点击按钮走向一家企业,当我足够接近时,警报会告诉我我距离不到 100 英尺。
我的问题是,如果我在走路时将应用程序发送到后台,警报会显示错误信息。例如,我从很远的地方打开应用程序,然后将应用程序发送到后台并接近业务,然后当我就在业务旁边时,我将应用程序带到前台并单击按钮,它说我我在 100 多英尺之外。有人对为什么会发生这种情况有任何想法吗?
在我看来DidLoad 方法:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(appReturnsActive) name:UIApplicationDidBecomeActiveNotification
object:nil];
在 appReturnsActive 方法中:
- (void)appReturnsActive{
locationManagerProfile.delegate = self;
locationManagerProfile.desiredAccuracy = kCLLocationAccuracyBest;
[locationManagerProfile startUpdatingLocation];
[locationManager startUpdatingLocation];
}