66

次のコードが返す条件を再現しようとしていますAVAuthorizationStatusNotDetermined:

AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];

ただし、iPad はアプリを削除して再インストールした後でもカメラのアクセス許可を記憶しているように見えるため、毎回 Authorized または NotAuthorized が返されます。NotDetermined が返されるようにアクセス許可をリセットする方法はありますか?

読んでくれてありがとう。

4

4 に答える 4

121

プログラムでアクセス許可をリセットすることはできません。権限をリセットする場合は、次の 2 つの方法があります。

  1. OS をリセットする
  2. アプリをアンインストールして 1 日待ちます

開発者が何かをテストしようとしている場合、これらのオプションは両方とも実際には役に立たないことを私は知っています。

OS 全体をリセットしたり、1 日待たずにアプリの初回実行シナリオをテストするには、3 つの方法があります。

最初のオプション

テクニカル ノート TN2265に記載されているとおり:

次の手順に従って、実際に 1 日も待たずに後者を達成できます。

  • デバイスからアプリを削除します。
  • デバイスの電源を完全にオフにしてから、再びオンにします。
  • [設定] > [一般] > [日付と時刻] に移動し、1 日以上先の日付を設定します。
  • デバイスの電源を完全にオフにしてから、再びオンにします。

2 番目のオプション

アプリを削除すると、iOS はアプリのバンドル ID にマップされたアプリの許可を保持し、データを 1 日保持します。したがって、アプリのバンドル ID を変更してテストすることもできます。

3 番目のオプション

コメントで @rmaddy が示唆しているように、すべての位置情報とプライバシーのアクセス許可をリセットできます: [設定] -> [一般] -> [リセット] -> [位置情報とプライバシーをリセット]。これにより、そのデバイス上のすべてのアプリのすべての位置情報とプライバシーのアクセス許可がリセットされることに注意してください。

于 2014-12-31T21:21:45.107 に答える