2014-04-01 85 views
1

重新启动手机后,我的应用程序停止获取CoreLocation委托回调,这是否是预期的行为?我想我还记得,你仍然可以获得回调。如果是这样,那么文件中是否有任何地方说明它是否可行?iBeacon监控/重新启动手机后

+0

你能说出你正在使用哪个版本的iOS吗? iOS 7或iOS 7.1?使用iOS 7.1重新启动后监控应该可以工作。当应用程序处于活动状态时(显示在屏幕上),iBeacon范围才起作用。 –

+0

噢,忘了提及它,7.1 –

回答

4

这是不正常的。应用程序应该在您的手机重新启动后将回调函数传递给CoreLocation的方法,并且我已将此功能构建到多个应用程序中并进行验证。

三件事情让这个难考,所以要确保你正在考虑这些:

  1. iOS设备重新启动后,它不执行蓝牙扫描,以寻找iBeacons的时候了。我不知道确切的时间,但可能需要一分钟或更长的时间。

  2. 即使在上述时间过后,当您的应用程序未在前台对iBeacons进行范围测量时,iBeacon的扫描也不会持续发生。确保您最多等待15分钟(重新启动后16分钟),然后再声明您未收到后台通知。

  3. 在典型的设置中,重新启动后将看不到日志语句。所以很有可能你得到了回调,但是结果却没有任何可见的结果。确保你在回调中做了一些测试,比如无条件的本地通知,所以你肯定知道你是否得到了回调。

+0

哦,嘿大卫,谢谢你总是花时间回答信标相关的问题...我有本地通知信标范围,等待超过20分钟,仍然没有通知...我'米也兴奋这种行为,不知道该怎么做或测试 –

+0

等等......你说你“有本地通知的信标范围”。你的意思是说*监测*?即使您不重新启动,您通常也无法在后台获得测距回调。你只能得到监控回调。 – davidgyoung

+0

现在在iOS 7.1中,您可以在后台获得范围回调,现在可以运行了,据我所知...而且,我已经通过CoreLocation委托方法(didDetermineState :, didEnterRegion:和didExitRegion :)发出通知: –

相关问题