0

好的,这是一个艰难的(无论如何对我来说)......我的应用程序有一个按钮,用于检查用户是否靠近企业。该按钮在按下时通过执行以下操作几乎可以完美地工作:

  • 获取用户的经纬度坐标
  • 将用户的经纬度坐标传递给 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];
}
4

1 回答 1

1

为了节省电量,当您的应用程序进入后台时,位置更新会停止。您可以向 info.plist 添加一个值以保持您的应用程序更新。但是您应该仔细考虑电池的使用情况。

于 2013-07-30T07:47:52.973 回答