2017-09-04 4 views
0

私のアプリは外部アクセサリーと通信しますが、iOSデバイスがスリープから復帰したときにEAAccessoryManagerのリストが空になることがあります。アプリはすでにフィールドに入っています。現在、ユーザーが外部アクセサリをオン/オフして再度動作させる必要があるため、修正が必要です。iOSアプリがスリープ状態にならないようにしますが、ロック画面と画面のディミングを保持します。

私は、iOSデバイスがスリープ状態にならないようにするつもりです。しかし、私はバッテリーが消耗するので、液晶画面が常にオンにならないようにします。また、セキュリティ上の目的でロック画面を有効にしたい私の選択肢は何ですか?

Btw通常、EAAccessoryManagerのリストは、デバイスが起動してユーザがロック解除コードを入力する必要があると空になります。指紋を使っても問題ないと思われるので、iOS 10.3.3のバグだと思いますか?他の誰かがこれに遭遇しますか?

答えて

0

ロック画面が既に表示されている場合、デバイスがスリープ状態になるのを防ぐことはできません。ロック画面はシステムのものなので絶対にコントロールできません。

ただし、アプリのバックグラウンドモードを実装することで問題を解決できる場合があります。

アップルでは、​​外部アクセサリーを使用しているアプリをバックグラウンドで動作させ続けることができます。これは、あなたのアプリがあなたのアクセサリーに接続したままになることができることを意味します。

ところで、私はEAAccessoryManagerについてはわかりませんが、BLEを使って同様のことを実装したとき、私はそのスキャンがそのアクセサリをすでに接続されていると検出可能でないと気付きました。まだ接続されていないと確信しています。なぜそれが空リストを表示しているのですか?

私が気づいたことは、そのUUIDを保存することで、私のデバイスに宣伝しているかどうかにかかわらず、デバイスに接続するよう求めることができるということです。デバイスがオフになっていてもEVEN。これは、デバイスがオンになったときにデバイスが自動的に(接続メッセージを送信せずに)接続するようになります。

+0

質問を投稿していただきありがとうございます。UIBackgroundModesを外部アクセサリーに設定すると、そのトリックが解決され、問題が解決されました。私はこれがすべての外部アクセサリーに必要かどうかは分かりませんが、誰かが同じ問題を抱えている場合に備えて – rukiman

0

質問を投稿していただきありがとうございます。UIBackgroundModesを外部アクセサリに設定すると、私の問題を解決しました。私はこれがすべての外部アクセサリーに必要かどうかは分かりませんが、誰かが同じ問題を抱えているかどうかについてはわかりません。

私のアプリは、バックグラウンドでは実際に外部デバイスを使用する必要はありませんが、少なくともこれで問題が解決され、画面の暗い画面も期待どおりに表示されることに注意してください。

+0

iOS 10.xにバグがあります – rukiman

関連する問題