質問
IPhoneで Guided Access モードを自動化するにはどうすればよいですか?この機能の有効化と削除を自動化する必要があります
背景アイオワ州のこのアプリケーション は、iOSアプリを使用して運転免許証を表示します。問題は、当局にあなたの電話を引き渡した後、彼らはそのデバイスに完全にアクセスできることです。
これまたは同様のアプリケーションのソースコードがある場合、一時的な「キオスクモード」から切り替えるときにパスワードを要求して、電話、または(理想的には)写真、メール、またはテキストメッセージを使用できないようにする方法を教えてください。 USBから。
私はこれに似た Android向けのソリューション を見つけましたが、現在iOSソリューションを探しています
アプリ内からガイド付きアクセスモードに出入りできます。ただし、これを行うには、デバイスを監視し、ガイド付きアクセスモードを要求できるアプリケーションのリストにアプリのバンドルIDが含まれるMDMプロファイルをインストールする必要があります(キーはautonomousSingleAppModePermittedAppIDs
です。
これが完了したら、ガイド付きアクセスに入るには、次のようにします。
UIAccessibility.requestGuidedAccessSession(true){
success in
print("Request guided access success \(success)")
}
IOS 7の下
IOSデバイスをプログラムでキオスクモードにすることはできません。また、アプリでキオスクアプリにすることもできません(ホームボタンのイベントをプログラムで無効にしたり、アプリでイベントを取得したりすることはできません。 )
デバイスをキオスクモードで動作させるには、Appleの Guided Access を使用できます。ただし、プログラムで有効にすることはできません。詳細については こちら を確認してください
iOS 7および7以降
以下を使用できます。
void UIAccessibilityRequestGuidedAccessSession(BOOL enable, void(^completionHandler)(BOOL didSucceed))
リファレンス IAccessibilityRequestGuidedAccessSession
UIAccessibilityRequestGuidedAccessSession
アプリを非同期でシングルアプリモードに、またはシングルアプリモードから移行します。 宣言
スイフト
func UIAccessibilityRequestGuidedAccessSession(_ enable:Bool、_ completionHandler:((Bool)-> Void)!)
Objective-C
void UIAccessibilityRequestGuidedAccessSession(BOOL enable、void(^ completionHandler)(BOOL didSucceed));パラメータを有効にする
デバイスをこのアプリのシングルアプリモードにするにはYESを指定し、シングルアプリモードを終了するにはNOを指定します。
completionHandler
操作の成功または失敗をアプリに通知するブロック。このブロックは次のパラメーターを取ります:didSucceed
YESの場合、アプリはシングルアプリモードに、またはシングルアプリモードから正常に移行しました。いいえの場合、アプリまたはデバイスはシングルアプリモードの対象ではないか、その他のエラーが発生しています。討論
このメソッドを使用して、アプリをシングルアプリモードにロックし、後でそのモードからアプリを解放できます。たとえば、受験アプリは、テストの開始時にこのモードに入り、ユーザーがテストを完了すると終了する場合があります。シングルアプリモードの開始は、モバイルデバイス管理(MDM)を使用して監視されるデバイスでのみサポートされ、アプリ自体がMDMによってこのモードで有効になっている必要があります。シングルアプリモードに入るには、その呼び出しを終了するための呼び出しと、各呼び出しのバランスをとる必要があります。
シングルアプリモードの開始または終了には時間がかかる場合があるため、このメソッドは非同期に実行され、completionHandlerブロックを使用して結果を通知します。ステートメントのインポート
uIKit可用性のインポート
IOS 7.0以降で利用できます。
また、ガイド付きアクセスが有効かどうかを確認するために IAccessibilityIsGuidedAccessEnabled を使用できます。
ドキュメントに従って iOSアプリをキオスクモードで実行できるようにする方法は2つあります。
構成プロファイル:モバイルデバイス管理(MDM)の助けを借りて、エンタープライズ構成プロファイルを作成し、一般的に知られている任意のMDMを使用してこれをデバイスにプッシュできます。たとえばMobileIronまたは任意のiPhone構成ユーティリティの助けを借りて。このプロファイルがインストールされると、デバイスの再起動時に起動される最初のアプリが、デバイスを再起動するまで実行される唯一のアプリになります。
ガイド付きアクセス(iOS 6以降):iOS 6以降、ガイドアクセスと監視付きアクセスの2つの方法を使用してこれを実現できます。これらの両方の方法は、ユーザーが自分のデバイスへのアクセスを制限できるようにするなど、ユーザー補助機能を扱います。これは、デバイスに完全にアクセスできる場合にのみ実現できます。
UIKitメソッドUIAccessibilityRequestGuidedAccessSessionを使用して、iOS 7のプログラムでiOSアプリのキオスクモードを設定できます。 Apple開発者向けドキュメントによると、「UIAccessibilityRequestGuidedAccessSessionはアプリをシングルアプリモードに非同期で移行します」
Apple開発者向けドキュメントに記載されています:
UIAccessibilityRequestGuidedAccessSession
アプリを非同期でシングルアプリモードに、またはシングルアプリモードから移行します。
void UIAccessibilityRequestGuidedAccessSession(BOOL enable, void(^completionHandler)(BOOL didSucceed))
パラメーター
enable
デバイスをこのアプリのシングルアプリモードにするにはYESを指定し、シングルアプリモードを終了するにはNOを指定します。
completionHandler
操作の成功または失敗をアプリに通知するブロック。このブロックは次のパラメーターを取ります。
didSucceed
YESの場合、アプリはシングルアプリモードに、またはシングルアプリモードから正常に移行しました。いいえの場合、アプリまたはデバイスはシングルアプリモードの対象ではないか、その他のエラーが発生しています。ディスカッションこのメソッドを使用して、アプリをシングルアプリモードにロックし、後でそのモードからアプリを解放できます。たとえば、受験アプリは、テストの開始時にこのモードに入り、ユーザーがテストを完了すると終了する場合があります。シングルアプリモードの開始は、モバイルデバイス管理(MDM)を使用して監視されるデバイスでのみサポートされ、アプリ自体がMDMによってこのモードで有効になっている必要があります。シングルアプリモードに入るには、その呼び出しを終了するための呼び出しと、各呼び出しのバランスをとる必要があります。シングルアプリモードの開始または終了には時間がかかる場合があるため、このメソッドは非同期で実行され、completionHandlerblock
を使用して結果を通知します。
Availability
Available in iOS 7.0 and later.
こちらもご覧ください
UIAccessibilityIsGuidedAccessEnabled
宣言
UIAccessibility.h
私が理解していることから、これはコードを使用して行うことはできません。ジェイルブレイクされていないデバイスでは、リスナーとして実行されるデーモンを作成する必要があります。
あなたができる最も近いことはあなたのデバイスに「ガイド付きアクセス」をセットアップし、それをトリプルホームボタンプレスにリンクすることです。
ガイド付きアクセスの詳細については、こちらをご覧ください こちら