防止iOS应用程序进入睡眠状态但保持锁定屏幕和屏幕变暗

时间:2017-09-04 01:48:08

标签: ios mfi

我的应用程序与外部附件通信,但似乎有一个错误,当ios设备从睡眠状态恢复时有时EAAccessoryManager列表为空。该应用已经在现场,我需要修复,因为目前用户必须关闭和打开外部配件才能再次使用。

我正在考虑阻止iOS设备进入睡眠状态。但是我不希望LCD屏幕始终打开,因为这会耗尽电池。我还希望锁屏能够出于安全目的而激活。我有什么选择?

Btw EAAccessoryManager列表在设备唤醒后通常为空,用户必须输入解锁码。似乎我使用指纹它很好,所以相信它是iOS 10.3.3中的一个错误?还有其他人遇到过这个吗?

2 个答案:

答案 0 :(得分:1)

我很确定如果设备已经显示锁定屏幕,则无法阻止设备进入休眠状态。由于锁定屏幕是一个你完全无法控制的系统事物。

但是,您可以通过为应用实施背景模式来解决问题。

Apple允许使用外部配件的应用程序继续在后台运行,这意味着您的应用程序应该可以保持与您的配件保持连接,无论它应该做什么。

顺便说一句,我不确定EAAccessoryManager,但是当我使用BLE实现类似的东西时,我注意到如果已经连接到它,扫描不会显示附件是可发现的。你确定它还没有连接,这就是它显示一个空列表的原因吗?

我注意到的另一件事是,通过保存其UUID,我可以简单地让我的设备连接到它,无论它是否是广告。即使设备已关闭。这将导致设备开启后我的设备会自动连接到它(没有我发送“连接”消息)

答案 1 :(得分:0)

在我发布问题后,我发现将UIBackgroundModes设置为external-accessory可以解决我的问题。我不确定是否所有外部配件都需要这样做,但是如果有人遇到同样的问题。

必须注意的是,我的应用程序实际上并不需要在后台使用外部设备,但至少这可以解决问题并且还可以按预期屏幕暗淡,屏幕锁定。