【问题标题】:Swift Region Monitoring Local Notification triggerSwift 区域监控本地通知触发器
【发布时间】:2017-02-15 04:56:26
【问题描述】:

我正在做一个应用程序来在输入区域时触发本地通知。 但是,有时当手机被锁定时,即使我已经在该地区有一段时间了,也没有弹出通知。仅当按下电源/主页按钮时才会显示通知弹出窗口(手机仍处于锁定模式)。

一般来说,一切似乎都在工作,只是有时通知只会在按下电源/主页按钮以唤醒手机时才显示,尽管它仍处于锁定状态。

希望有人能赐教! =)

【问题讨论】:

  • 你在使用BackgroundFetch吗?
  • 是的“功能”中启用了后台提取。即使我终端/关闭应用程序,区域监控仍在工作。奇怪的是,有时通知弹出窗口仅在按下电源/主页按钮但手机仍处于锁定模式时才会出现。 =(
  • 您使用的是standard location service 还是significant-change location service
  • 我使用 locationManager.startMonitoring(for: region) 进行区域监控,但我没有使用 self.locationManager.startUpdatingLocation()。

标签: ios swift notifications geofencing clcircularregion


【解决方案1】:

根据开发者documentation。在 core-location 框架中,两个服务可以给你当前的位置信息。

  1. 标准位置服务是一种可配置的通用解决方案,用于获取位置数据并以指定的准确度跟踪位置变化。

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

您需要使用标准的定位服务在后台保持监控位置

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

【讨论】:

  • 如果我错了,请纠正我,但开发人员文档中还提到了另一种方法。这就是我在这里使用的区域监控。 - 区域监控可让您监控已定义地理区域和蓝牙低能耗信标区域的边界交叉点。 (信标区域监控仅在 iOS 中可用。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-13
  • 1970-01-01
  • 2019-08-14
  • 2012-01-25
  • 2012-05-11
  • 1970-01-01
相关资源
最近更新 更多