问题标签 [region-monitoring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1161 浏览

ios - 区域监控和后台

我毫无疑问,想知道是否有必要再次将所有区域重新分配给位置经理,如果它收到发布通知appEnterInBackGround

这是一些代码片段。

因此,当应用程序进入后台时,我确实是这样的:

那么当应用程序进入后台时,是否有必要再次将区域重新分配给位置管理器?或者,一旦将区域分配给位置管理器,它就会自动startAction:监控

更新1:

列表:

应用 plist 配置

0 投票
2 回答
906 浏览

ios - 信标区域监控延迟且随机无法正常工作。(Android 工作正常)

我已经开发了同样在 android 中开发的应用程序。

我在 iOS 中实现了信标区域监控,如下所示。

以上是启动监控的代码。

以下是我为位置管理器实例的初始化编写的代码。

上面的代码将在应用程序启动时初始化位置管理器。

我想收到有关区域进入和退出事件的通知。

我的问题是我的 android 应用程序可以从很远的距离检测到信标进入,而 iOS 应用程序无法检测到从远处进入或退出的区域。

我不知道为什么会出现这种差异?

我观察到的是信标区域监控有时会将进出通知延迟 2 到 3 分钟。

如果 android 可以在特定范围内检测到信标区域,那么为什么 iOS 应用程序无法检测到这一点?(两个应用程序都可以开始检测应用程序的范围形式存在显着差异)。

任何建议或建议都会有所帮助。

谢谢。

0 投票
1 回答
306 浏览

ios - 如果区域没有专业,则区域监控在 iOS 中不起作用

在我的 iOs 应用程序中,我试图在不同的参数上监视一些信标区域,如下所示:

> 方法 1 - 只有 UUID 和标识符的区域:

在上述场景中,我开始使用以下代码监控信标区域,其中仅给出了 uuid 和标识符。


方法 2 - 带有 UUID 、 Major 和 Identifier 的区域:

在上述场景中,我使用以下方法开始监视信标区域,其中给出了 uuid、主要和标识符值


方法 3 - 具有主要次要和标识符的区域:

在上述场景中,我使用以下方法开始监视信标区域,其中所有 uuid、主要、次要和标识符值均已给出

现在考虑到上述 3 种方法,我开始使用以下方法进行区域监控:

不幸的是,只有第三种方法信标进入和退出委托被调用。但是当我使用第一种或第二种方法时,我无法接收进入和退出区域委托。

注意:我不是一次运行所有方法。我一次只使用一种方法。

任何人都可以提供任何反馈或提供任何帮助,为什么其他区域方法不起作用但只有第三种方法起作用?

0 投票
0 回答
39 浏览

ios - didEnterRegion 在速度超过 50kmh 但不低于时触发

我有一个应用程序,当用户进入一个区域时调用该函数。当我以 50kmh 和更高的速度模拟它时效果很好,但是当我将速度设置为 20kmh 时,它每隔几次就会工作一次。

当用户进入一个区域时,didEnterRegion 应该打印出“输入的区域” 。当速度超过 50kmh 时它会发生。但是,当速度较低时它不会打印它,这意味着我要监视的区域没有被监视,尽管当我打印受监视区域的数组时我可以看到我的区域正在被监视。

如果有人知道该怎么做或可以以任何可能的方式提供帮助,我会很高兴。

0 投票
2 回答
63 浏览

ios - iOS - 待机中的区域监控

我已经为信标(didEnterRegion)实现了一个监控功能。如果我使用我的 iPhone,它会很好用。(应用程序在前台、后台或仅安装并关闭,但我的 iPhone 必须在使用中(屏幕打开)。)

如果我的手机处于待机模式(按下顶部按钮),我不会收到 didEnterRegion 的通知。如果我使用手机(屏幕打开),会弹出通知。是否有机会在待机模式下也获得 didEnterRegion 事件?

项目设置:推送通知已开启。用于位置更新、背景获取、使用蓝牙 LE 配件的后台模式已开启。

在 iOS 11.1 上测试

0 投票
1 回答
534 浏览

ios - 调用 didEnterRegion 时不再调用 didUpdateLocations

我在同时处理Geofence和用户当前位置时遇到问题。

当应用程序开始工作时,didUpdateLocations完美调用并且我拥有所需的用户位置。

但只要didEnterRegion代表被召唤,

didUpdateLocations不会再开火了。他们有关系吗?

我还检查了

didEnterRegion被调用后状态没有改变。我还添加了

didEnterRegion但仍然didUpdateLocations没有被调用。

有谁知道问题出在哪里?如何跟踪区域中的位置?

PS:在调用 EnterRegion 时自动停止更新位置,在调用 ExitRegion 时自动开始更新位置

更新:我使用xCode9,iOS 10,swift 4。两者都是空的EnterRegionExitRegion我现在只是在其中打印一个日志,他们将来会向服务器发布一些数据。

0 投票
0 回答
310 浏览

ios - UNLocationNotificationTrigger 在模拟器中工作,但不在物理设备上

我已使用以下代码订阅了基于位置的提醒:

当我在 iOS 模拟器中进入一个区域时,该代码会提醒我,但是当我将应用程序加载到物理设备上并走进该区域时,它永远不会通知我。

我记得读过一些关于低功耗模式会影响您是否可以订阅基于位置的通知的内容,还有其他类似的东西会阻止应用程序接收后台更新吗?另外,我的代码正确吗?

0 投票
0 回答
127 浏览

ios - 应用程序终止状态下的区域监控

在我的应用程序中,我使用 CLLocationManager 进行区域监控。当应用程序处于前台和后台时,区域监控工作正常。但是当应用程序被用户从应用程序切换器手动杀死时,didEnterRegion 委托不会被触发。有什么解决方案。我已经看到,当应用程序处于终止状态时,从 iOS 7 应用程序将不会唤醒。新的 iOS 版本更新有什么变化吗?

iOS版本:11.4

0 投票
1 回答
416 浏览

ios - 进入信标区域后开始位置更新监控 Swift

当用户进入该区域时,我正在制作一个带有位置更新的 ibeacon 区域监控应用程序(应用程序不在前台)。此位置更新必须配置为 kCLLocationAccuracyBestForNavigation 准确度(因为我必须在使用时进行跟踪,而仍然在该区域内,订阅我的重大更改是不够的)。一切正常,但 20 秒后(有时 1 分钟以上)我停止接收位置更新。我将所有键都放在 info.plist 中以始终使用位置,我在功能部分中包含背景模式,并在背景中包含位置更新。

我用不同的配置配置 locationManager 并且总是停止我的位置更新。我正在使用 IOS 12 和 Iphone 7 进行测试。

我配置CLLocationManager的方式:

开始位置更新(当用户进入 Ibeacon 区域时):

最后,在 didUpdate 位置,我调用了一个 Web 服务:

我寻求您的帮助,以了解我是否为我想要执行的目的正确执行了设置,以及任何让我知道为什么操作系统会终止我的进程以获取位置更新的线索

0 投票
1 回答
683 浏览

ios - Swift 中的 LaunchOptionsKey.location 会启动整个应用程序吗?

我目前正在 Swift 中进行 regionMonitoring 工作,在那里我检查用户是否在某个位置附近。我使用后台模式(位置)来检查用户每移动 50 米的位置。这会唤醒我的应用程序,并在application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?).

我还在第一个 viewController 上检查用户是否有可用的互联网连接。如果没有,则会显示一条消息:“请确保您已连接到 Internet。”

在过去的几天里,我注意到即使我确实有工作连接也会显示此消息,但是当我在移动时我的 Internet 已关闭。所以我认为应用程序被唤醒,然后在 didFinishLaunchingWithOptions 之后定向到第一个视图控制器。

这可能吗?收集新位置时,我的应用程序是否“完全”启动?我可以实施以下didFinishLaunchingWithOptions措施来防止这种情况:

或者在某些情况下这会造成麻烦吗?如果我自己打开应用程序,是否可以在其中包含位置密钥?