web-dev-qa-db-ja.com

iOSアプリの権限の完全なリスト

さまざまなWebサイト( e.g。 )では、iOSアクセス許可モデルが次のように機能することを説明しています。すべてのアプリには、基本的なアクセス許可のセット(インターネットアクセスを含む)があります。実行時に追加の許可が必要な場合、ユーザーは許可するか拒否するかを尋ねられます。

IOSはどの許可を知っていますか?基本的な権限セットには何が属しますか?ユーザーの同意なしに何ができますか?基本的に私は これに似たリスト を探しています

18
Jack Miller

他の回答とは対照的に、実行時に要求される権限の公式リストがあります。 iOSセキュリティガイド (p。84)にあります:

iOSは、アプリが許可なくユーザーの個人情報にアクセスするのを防ぎます。さらに、設定では、ユーザーは特定の情報へのアクセスを許可したアプリを確認したり、将来のアクセスを許可または取り消したりすることができます。これには次へのアクセスが含まれます。

  • 連絡先
  • カレンダー
  • リマインダー
  • 写真
  • 運動活動とフィットネス
  • 位置情報サービス
  • Apple Music
  • 音楽とビデオのアクティビティ
  • マイクロフォン
  • カメラ
  • HomeKit
  • 健康
  • 音声認識
  • Bluetooth共有
  • あなたのメディアライブラリ

ユーザーがiCloudにサインインすると、デフォルトでアプリにiCloud Driveへのアクセスが許可されます。ユーザーは[設定]の[iCloud]で各アプリのアクセスを制御できます。さらに、iOSは、MDMソリューションによってインストールされたアプリとアカウントと、ユーザーによってインストールされたアプリとアカウントとの間のデータ移動を防ぐ制限を提供します。

IOS 10以降、要求された許可の説明を提供する必要があります。フレームワークの開発者向けドキュメントでは、そのような説明が必要かどうかがわかり、そのAPIにアクセスすると、アクセス許可のプロンプトが表示されます(説明がない場合はクラッシュします)。 Contactsフレームワークの開発者向けドキュメント のヒントを参照してください。

重要

IOS 10.0以降にリンクされたiOSアプリは、Info.plistファイルに、アクセスする必要があるデータの種類の使用法説明キーを含める必要があります。そうしないと、クラッシュします。連絡先データにアクセスするには、NSContactsUsageDescriptionを含める必要があります。

さらに、各iOS/macOSバージョンで利用可能な権限の適切なソースは、 Information Property List Key Reference (search for UsageDescription言葉に含まれる)。

26
Max

info.plistファイルに追加できるすべてのキーは、 Appleドキュメント にリストされ、説明されています。

ほとんどのバックグラウンドモードでは、Info.plistにキーを追加して、アプリがバックグラウンドでコードを実行することを示す必要があります。

ただし、この情報はユーザーの許可を求めるためではなく、デバイスの互換性を確保するためだけに使用されます。

一部のサービスのみがユーザー許可を必要とします(Geolocation and Notificationsサービスなど)。これは、アプリケーションが対応するAPIを使用しようとする最初のときに自動的にユーザーに要求されます。

4
BoilingLime

サンドボックス内にあるものなら何でもできます。そのため、インターネットアクセスとファイルの保存はデフォルトで許可されていますが、カメラロールの読み取りやプッシュ通知の表示など、別のアプリとの通信は許可されていません。

2
James Campbell

利用可能な公式リストはないようです。

これまでのところ、太字のものが基本的な許可であるこれらの許可を見つけました。

  • インターネットアクセス
  • ジオロケーションへのアクセス
  • 通知サービスの使用(受信および/または表示?)
  • 他のアプリと話す
  • カメラへのアクセス
  • マイクにアクセスする
  • 電話連絡先リストにアクセスする
  • カレンダーへのアクセス
  • 写真へのアクセス
  • スケジュールリマインダー
1
Jack Miller