2017-02-15 31 views
1

我正在做一个应用程序来触发本地通知,当一个地区进入。 但是,有时当手机被锁定时,即使我在该区域区域呆了一段时间,通知也不会弹出。通知弹出窗口只会在按下电源/主屏幕按钮时显示(手机仍处于锁定模式)。斯威夫特地区监测本地通知触发器

一般来说,似乎所有人都在工作,只是有时只有当按下电源/主屏幕按钮唤醒手机时,通知才会显示,但手机仍处于锁定状态。

希望有人能够赐教我! =)

+0

您是否在为此使用'BackgroundFetch'? – KrishnaCA

+0

在“功能”中启用了后台提取。即使在我终端/关闭应用程序时,区域监控仍在运行。奇怪的部分是,有时通知弹出窗口只在按下电源/主屏幕按钮时出现,但手机仍处于锁定模式。 =( – Shen

+0

您使用的是“标准位置服务”还是“重大变更位置服务”? – KrishnaCA

回答

0

根据开发人员documentation。在核心位置框架中,两项服务可以为您提供当前位置信息。

  1. 的标准位置的服务是用于获取位置数据和跟踪的准确性的指定级别的位置的变化的可配置的,通用的解决方案。

  2. 重大更改位置服务仅在设备的位置发生重大变化时(例如500米或更远)才会提供更新。

您需要使用标准定位服务,以保持在后台

监控位置如果您的iOS应用必须保持监控位置即使它在后台运行,使用标准定位服务,并指定UIBackgroundModes键的位置值继续在后台运行并接收位置更新。 (在这种情况下,您还应该确保位置管理器的pausesLocationUpdatesAutomatically属性设置为YES以帮助节省电量。)

+0

如果我错了,请更正我的错误,但开发者文档中提到了另一种方法,那就是我在此处使用的区域监控 - 区域监控允许您监控已定义地理区域的边界交叉路口和蓝牙低位 - 能量信标区域(信标区域监控仅适用于iOS。) – Shen