iOS BLE Scanning with (user) kill App

Posted

技术标签:

【中文标题】iOS BLE Scanning with (user) kill App【英文标题】:iOS BLE Scanning with (user) killed App 【发布时间】:2015-10-18 22:23:58 【问题描述】:

我正在尝试确定是否可以为蓝牙低功耗 (BLE) 事件注册已终止的 ios 应用程序。我已经让应用程序在被挂起时在后台模式下工作。

我还在官方文档中阅读了有关状态恢复和保存已终止应用程序的信息。据我所知,文档似乎总是提到由于内存不足而被系统杀死的应用程序。

我的问题是用户终止的应用程序是否存在类似的可能性。每当 BLE 外围设备关闭时,我想(重新)创建我的应用程序。

【问题讨论】:

在 iOS 中,用户杀死应用后能够进行 BLE 扫描。 【参考方案1】:

注意 This may no longer be true on iOS 11,但我还没有机会测试它。

如果用户终止了您的应用程序(通过任务切换器),那么在用户明确启动它之前它不会重新启动。

这意味着,不,在用户杀死您的应用后,您无法使用信标接近度重新启动您的应用。

【讨论】:

我有一个 ios 应用程序(由目标 c 创建 - 用于 BLE),它在用户杀死应用程序后工作。 所以 iOS 在用户杀死它后重新启动您的应用程序以响应 BLE 事件?这是在 iOS 10 上吗?这个文档说这不会在 iOS 11 上发生:developer.apple.com/library/content/qa/qa1962/_index.html 是的,我仅在 ios 10 中进行了测试,但未在 ios 11 中进行测试。所以我不确定用户在 iOS 11 中杀死应用程序后应用程序是否正在运行。谢谢。 我有一个应用程序将在 iOS 11.3 上重新启动,由我希望连接的 LE 设备的存在触发。最初在 iOS 9.3 上开发。这是通过将“后台处理”标签添加到您的应用程序来完成的。用户只需“训练”几天(手动启动它),之后即使用户杀死它,iOS 也会可靠地启动应用程序。 此行为是 11.3 中的新行为吗?这与链接的文档相矛盾。【参考方案2】:

在用户杀死应用程序后,可以在 ios 中进行 BLE 扫描和其他工作。 在 iOS 10 中测试(工作正常)。 未在 iOS 11 中测试(不确定用户在 iOS 11 中杀死应用后是否运行应用)。

【讨论】:

我也尝试在演示应用程序中实现,我没有任何代码。 如果您有任何解决方案,请与我分享。 好吧。我希望我能找到。 如果应用程序被系统或用户强行终止,任何人都有解决方案,我们可以连接或扫描新的外围设备吗?

以上是关于iOS BLE Scanning with (user) kill App的主要内容,如果未能解决你的问题,请参考以下文章

iOS之Scanning的实现

iOS-ARKit扫描和检测3D对象-Scanning and Detecting 3D Objects

iOS-ARKit扫描和检测3D对象-Scanning and Detecting 3D Objects

为 BLE windows 8.1 开发

使用 React-native-ble-plx 配置 React-native

Progressive Scanning (逐行扫描) vs Interlaced Scanning (隔行扫描)