Cardcase 应用程序可让您知道您是否前往与您有过往来的商店(如果您在那里设置了付款标签等)。
如果后台运行的应用程序无法在设备启动时自动启动,那么这个应用程序是如何工作的?
编辑以使我的问题更清楚:我不是在问如何监控位置变化或如何在后台监控位置变化。我的问题是,如果用户安装了这个应用程序,然后为某些位置添加了一些选项卡,然后他们重新启动了他们的 iPhone,那么如果不支持启动时启动应用程序,那么当他们接近某个位置时,这个应用程序如何随后通知他们?
此应用程序(以及任何其他应用程序)是否必须依赖于用户在每次设备重启后显式启动它?
Best Answer-推荐答案 strong>
您可以通过区域监控来做到这一点。您在 CLLocationManager 上使用此方法注册要监控的区域:
- (void)startMonitoringForRegionCLRegion *)region desiredAccuracyCLLocationAccuracy)accuracy
然后,即使您的应用程序没有运行,它也会在用户进入或离开该区域时在后台启动。
来自 Apple 的 docs :
If you begin monitoring a region and your application is subsequently
terminated, the system automatically relaunches it into the background
if the region boundary is crossed. In such a case, the options
dictionary passed to the application:didFinishLaunchingWithOptions:
method of your application delegate contains the key
UIApplicationLaunchOptionsLocationKey to indicate that your
application was launched because of a location-related event. In
addition, creating a new location manager and assigning a delegate
results in the delivery of the corresponding region messages.
编辑
刚刚用我自己的应用对此进行了测试。在离开办公室之前重新启动了我的手机,该应用程序像往常一样在我开车回家的路上启动了。所以是的,这绝对可以在重启后幸存下来。
希望对您有所帮助。
关于ios - 如果后台应用程序无法自动启动 Cardcase 如何在位置更改时启动?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8674214/
|