0

我正在使用 MobileFirst Platform 6.3,我正在尝试实现适用于 Android 和 iOS 的混合应用程序,我在其中创建了进入/退出位置触发器,使用“enableHighAccuracy=true”,应用程序应始终监听触发器它在前景和背景中。

为两种环境(Android、iOS)添加正确的权限后,如知识中心链接所述:http ://www-01.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.dev.doc /dev/r_wl_location.html?lang=en

我已经在 Android 中测试了该应用程序,它在前台和后台运行时按预期工作,当获取地理位置触发器时,我只需在 LogCat 中记录一条消息。

在 iOS 中,它无法按预期工作。它在前台正常工作,但在后台不能正常工作。我正在使用 XCode 的 iPhone 模拟器进行测试,当它在后台时,它不会在 XCode 控制台中记录消息。但是,当我检查了模拟器中的隐私设置时,它表明该应用程序有权获取位置“始终,在前台和后台”!

请建议,是否应该进行其他设置以使其在 iOS 中工作,并且当应用程序在后台运行时日志记录不起作用是否是正常行为?

4

2 回答 2

0

答案在 iOS 中,如果您希望应用程序在后台运行,请不要使用警报,因为它会使应用程序在尝试执行它的每个警报时停止。这在 Android 中不会发生。因此,当我在位置触发器的回调中删除警报时,它可以正常登录控制台并正常获取位置。

于 2015-03-17T08:29:17.167 回答
0

首先查看如何设置在后台运行定位服务的权限: Background Location Services not working in iOS 7

Ios 有限制。在没有任何位置更新的情况下在后台运行几分钟后,应用程序将暂停,一旦用户恢复应用程序,所有位置更新将被接收。

于 2015-03-12T12:58:35.483 回答