web-dev-qa-db-ja.com

iPhoneでガイド付きアクセス(キオスクモード)をプログラムで有効にするにはどうすればよいですか?

質問

IPhoneで Guided Access モードを自動化するにはどうすればよいですか?この機能の有効化と削除を自動化する必要があります

背景アイオワ州のこのアプリケーション は、iOSアプリを使用して運転免許証を表示します。問題は、当局にあなたの電話を引き渡した後、彼らはそのデバイスに完全にアクセスできることです。

これまたは同様のアプリケーションのソースコードがある場合、一時的な「キオスクモード」から切り替えるときにパスワードを要求して、電話、または(理想的には)写真、メール、またはテキストメッセージを使用できないようにする方法を教えてください。 USBから。

私はこれに似た Android向けのソリューション を見つけましたが、現在iOSソリューションを探しています

20

アプリ内からガイド付きアクセスモードに出入りできます。ただし、これを行うには、デバイスを監視し、ガイド付きアクセスモードを要求できるアプリケーションのリストにアプリのバンドルIDが含まれるMDMプロファイルをインストールする必要があります(キーはautonomousSingleAppModePermittedAppIDsです。

これが完了したら、ガイド付きアクセスに入るには、次のようにします。

UIAccessibility.requestGuidedAccessSession(true){
    success in
    print("Request guided access success \(success)")
}
44
jrturton

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 を使用できます。

8
Midhun MP

ドキュメントに従って 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
5
Hussain Shabbir

私が理解していることから、これはコードを使用して行うことはできません。ジェイルブレイクされていないデバイスでは、リスナーとして実行されるデーモンを作成する必要があります。

あなたができる最も近いことはあなたのデバイスに「ガイド付きアクセス」をセットアップし、それをトリプルホームボタンプレスにリンクすることです。

ガイド付きアクセスの詳細については、こちらをご覧ください こちら

0
Naughty_Ottsel