0

ユーザーが現在地アラートに応答したかどうかを確認するにはどうすればよいですか

「アプリが現在地を使用しようとしています」または「アプリがプッシュ通知を送信しようとしています」</p>

ユーザーがどの選択肢を選択したかは気にしません。アラートが無視されたかどうかだけを知る必要があります。

4

3 に答える 3

1

ユーザーがこのアラートを無視したときにメッセージを直接受け取ることはありませんが、CLLocationDelegate の- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)statusメソッドを実装できます。それと CLLocationManager の静的authorizationStatusプロパティを確認する間に、通常、ユーザーがアプリで位置情報サービスを許可しているかどうかを確認できます。

于 2013-01-30T15:31:26.007 に答える
0

Appleはそれを禁止しているので、あなたはそれをすることはできません!

于 2013-01-30T15:56:15.333 に答える
-2

編集:あはは、質問に誤ってタグを付けたことに気づきましたuialertview

位置アラートの場合、次のことができます。

- (void)locationManager:(CLLocationManager *)manager
   didFailWithError:(NSError *)error {

    if (error.code ==  kCLErrorDenied) {
        NSLog(@"Location manager denied access - kCLErrorDenied");

        UIAlertView *alert = 
              [[UIAlertView alloc] initWithTitle:@"Location issue" 
                                         message:@"Your location cannot be determined." 
                                        delegate:self 
                               cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
    } 
} 

プッシュ通知の場合、次のことができます (ただし、ユーザーが応答したかどうかは不明です)。

UIRemoteNotificationType status = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (status == UIRemoteNotificationTypeNone) {

     NSLog(@"User is not subscribed to receive push notifications");
}
于 2013-01-30T15:13:37.887 に答える