0

マップで位置情報をオフにするとします。マップに行きます。Apple は何かをポップして、場所が利用できないと言います。ユーザーが設定を押すと、設定に移動します。

そのメッセージをどのようにポップしますか?

UIAlertView を使用できることはわかっています。ただし、そのメッセージはアップル標準のようです。また、設定を押すと、人々はまっすぐに設定に行きます。そのようなものを自分で作る方法がわかりませんか、それともできますか?

Apple は、位置情報を取得しようとしたときに自動的にそのポップアップを表示するだけのようですが、そうする権限がありません。

まあ、私の場合ではありません。私の場合、アプリに許可がない場合、許可が来ないのを待ってハングします。

4

2 に答える 2

1

アプリが初めて位置情報サービスを使用しようとすると、システムはそのアラートを表示します。ユーザーはそれを有効にすることを選択できますが、そのアラートは再び表示されません。開発者として、それを再度表示することもできません。

あなたができることは、authorizationStatusonをチェックすることですCLLocationManager

if ([CLLocationManager authorizationStatus] != kCLAuthorizationStatusAuthorized) {
    // show alert telling the user to enable location services for this app
}

ただし、設定アプリを直接開くことはできません。

于 2013-04-11T05:42:23.100 に答える
0

ロケーション サービスが有効になっているかどうかを確認します。ロケーション サービスが有効になっていない場合は、ロケーション サービス メッセージを使用して独自の UIAlertView を作成します。

if([CLLocationManager locationServicesEnabled] && 
     [CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied)
{
    // Show alert 
}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex  
{
    if(alertView.tag == 1)
    {
        // set Url 
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];


    }
}
于 2013-04-11T06:09:45.763 に答える