2016-09-21 35 views
0

ユーザーの場所とカレンダーの両方にアクセスする必要のあるアプリケーションを開発していますが、ポップアップが表示されるはずですが、何らかの理由で表示されず、拒否され続ける場合は、アクセス:ポップアップが表示されない

- (void)askAuthorization 
{ 

    EKAuthorizationStatus authorizationStatus = [EKEventStore authorizationStatusForEntityType:EKEntityTypeEvent]; 
    BOOL needsToRequestAccessToEventStore = (authorizationStatus == EKAuthorizationStatusNotDetermined); 

    if (needsToRequestAccessToEventStore) { 
     [self.store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) { 
      if (granted) { 
       // Access granted 
       NSLog(@"User granted access"); 
       dispatch_async(dispatch_get_main_queue(), ^{ 
        [self.delegate userDidAuthorizeCalendarReadingsWithError:error]; 
       }); 

      } else { 
       // Denied 
       NSLog(@"User did not grant access. To grant access, go to Settings > Privacy > Calendars > VirtualAssitant"); 
       [self.delegate userDidNotAuthorizeCalendarReadingsWithError:error]; 
       dispatch_async(dispatch_get_main_queue(), ^{ 
        [self.delegate userDidAuthorizeCalendarReadingsWithError:error]; 
       }); 

      } 
     }]; 
    } 

}

私がポップアップ取得していないですし、AuthorizationStatusForEntityType:EKEntityTypeEvent値が "拒否" さ!

私は設定 - >プライバシー - >場所に行ったところ、自分のアプリケーションでは絶対に設定されていないことがわかり、手動で常に変更する必要がありました。なぜ誰かが同じ問題を抱えていることを知っていますか?私を助けることができます。

私は、ビルドフォルダをクリーニングし、場所とプライバシーの設定をリセットしようとしましたが、アプリケーションを再構築するときに同じことが起こりました。私は許可を求めるポップアップを表示せず、値は拒否に設定されています。

答えて

0

カメラ、フォトアルバム、ロケーション、連絡先などのシステムアクセスのアクセス許可ポップアップは、(アクセスタイプごとに)1回だけ表示されます。

提示された後に承認または拒否されると、再び表示されません。

「拒否」というアクセス許可が戻ってきたため、これはすでに表示されていて、「許可しない」をタップしたことを意味します。

その後、アプリの権限を変更するには、アプリの設定に移動して手動で変更するしかありません。

端末からアプリを削除してもう一度インストールすると、強制的に権限のポップアップが表示されます。

+0

私はまた、デバイスからアプリケーションを削除しようとし、再度インストールし、私は別のデバイス上でそれを試しても、ポップアップが表示されないと、値が常に拒否される同じ問題を抱えています。 – Lara

関連する問題