2016-06-26 4 views
0

ホーム画面でデバイスパスコードが有効になっていることを検出する方法があるかどうかを知りたい(Appstoreで承認する必要がある)かどうかを知りたい。ホーム画面からパスコードロック状態を検出する

基本的に、私のアプリは、これらの携帯電話のイベントを知りたいのですが:

  1. デバイス画面のターン
  2. オン/オフ電話のロック/アンロック(オートロックの設定/電源ボタンを押しによって)
  3. をパスコードのアクティブ限り、私は研究として

を(でパスコードの設定が必要)、Iは1 & 2を組み合わせることによって達成できます4つのイベントと& notify_get_state

com.apple.springboard.lockstate 
com.apple.springboard.lockcomplete 
com.apple.springboard.hasBlankedScreen 
com.apple.iokit.hid.displayStatus 

私が手の問題は、これらのイベントだけでなく、状態パスコードの状態をロック/アンロックを教えています。 5分後にパスコードが必要な場合は、最初の4分でパスコードなしで電話機をロック/ロック解除できます。

また、SBGetScreenLockStatus(port, &locked, &passcode)を使用して、ロック状態&のパスコード状態を取得する方法もあります。 しかし、それは個人的なフレームワークを使用しているので、アップルによって拒否されるでしょう。

このトピックから(Programatically Checking if a Passcode Lock is Set)電話でパスコードが設定されている場合にのみ表示されます。

UPDATE:パスコードが有効になったときに戻ってくるイベントがあります。 com.apple.mobile.keybagd.lock_statusですが、それに関するドキュメントは見つかりません。そして、私がnotify_get_stateを使用しても値は変わりません。

答えて

1

私はあなたがそれを得るためにいくつかのプライベートAPIを見つけることができると思います。しかし、これらはAppleによって承認されない可能性が最も高いです。彼らがそれを見逃す機会があります。ただし、プライベートAPIの使用に基づいてアプリを拒否します。

+0

正確に。なぜ私は公開APIでそれを達成するためにとにかくあるのか調べているのです。しかし、今のところ結果はありません。 – nahung89

+0

@ nahung89私は、WiFi、Bluetooth、その他のネットワークAPIを調べることをお勧めします。彼らはあなたがデバイスがオフになったことを検出するためにチェックすることができるいくつかの外部性を持っている可能性があります。たぶん彼らは別のモードかそのようなものに切り替えるでしょう。 –

関連する問題