Apple の OS は、アプリケーションが機密情報やデバイス機能にアクセスする前に承認をリクエストすることを義務付けています。アプリケーションがデバイスのカメラ、マイク、位置情報などの機能にアクセスする必要がある場合は、必ず、デバイスのユーザーが、アプリケーションにアクセス許可を与える必要があります。
iOS デバイスでの承認リクエストの詳細については、Apple のドキュメント を参照してください。
アプリケーションが必要とするデバイス機能にアクセスするためには、以下を行う必要があります。
機能の使用目的の説明 (“目的の文字列” とも呼ばれます) は、アプリケーションがデバイス機能にアクセスしようとした時に iOS システムによって表示されるメッセージです。アプリケーションがアクセスを行う理由を明確に記述することが推奨されます。
機能の使用目的の説明は、プレイヤー設定 の Configuration セクション (メニュー: Edit > Project Settings > Player > Other Settings) で入力できます。プレイヤー設定に使用目的の説明を追加すると、それが key (キー) と value (値) のペアとして info.plist ファイル内に追加されます。例えば、アプリケーションがデバイスのカメラへのアクセスを必要とする場合は、プレイヤー設定にカメラの使用目的の説明を追加します。入力された説明は自動的に NSCameraUsageDescription キーの値として info.plist ファイル内に表示されます。詳細については、Apple 固有の iOS プレイヤー設定 を参照してください。
代替方法として、info.plist ファイルに直接、必要な機能の使用目的の説明のキーと値のペアを追加することもできます。
機能の使用目的の説明を追加したら、Application.RequestUserAuthorization メソッドを使用してカメラやマイクへのアクセスのリクエストを送信します。システムによって、承認リクエストに関する説明ダイアログが表示されます。
この API の使用方法を示すコードサンプルについては、Application.RequestUserAuthorization を参照してください。
デバイスの位置情報へのアクセスについては、LocationService API を参照してください。
リクエストの承認状況は、Application.HasUserAuthorization メソッドを使用して確認できます。
ノート: デバイスのユーザーは、デバイスの設定から、機能のアクセス許可状況をいつでも変更することができます。Application.HasUserAuthorization メソッドを使用して、機能にアクセスする前にその機能のアクセス許可状況を確認することができます。