2

アプリが写真にアクセスできるかどうかを確認する必要があるという問題があります。ユーザーは、標準のプライバシー ポップアップで決定するように求められます。ただし、アプリはユーザーが決定するのを待たずに続行しているようです (許可モードなし)。そのため、ユーザーが許可したとしても、カスタム アクセス許可が必要なメッセージ ボックスが表示されます。

//force the privacy prompt
ALAssetsLibrary *lib = [[ALAssetsLibrary alloc] init];
[lib assetForURL:[NSURL URLWithString:@""] resultBlock:nil failureBlock:nil];

//then check for permission
ALAuthorizationStatus authStatus = [ALAssetsLibrary authorizationStatus];

//1.
if(authStatus != ALAuthorizationStatusAuthorized)
{
  //show custom permissions required message box
}

アクセス許可の変更に関する通知を受け取り、代わりに 1. のコードをそのメソッドに移動する方法はありますか?

ありがとう

ジェイコブ

4

1 に答える 1

5

いくつかのテストの結果、写真のアクセス許可アラート ビューが閉じられた後に applicationDidBecomeActive が呼び出されることがわかりました。

私は NSNotificationCenter を使用し、authorizationStatus 変更イベントをキャプチャできました。これは、iOS 7 未満ではテストされていません。

[[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(applicationDidBecomeActive:)
                                                 name:UIApplicationDidBecomeActiveNotification
                                               object:nil];
于 2014-02-28T04:48:07.257 に答える