0

私はこれが初めてで、これが私の最初の質問です。UISwitch の「オン」状態でシステム アラートをポップできるかできないかを教えてください。カスタム アラートを設定できることはわかっていますが、それは望ましくありません。これは GPS に関連しているため、ユーザーがスイッチをオンにすると、GPS でシステム アラートが表示されます。

4

1 に答える 1

0

いいえ、アプリが Core Location にアクセスすると自動的に表示されます。ユーザーが拒否すると、次回の起動時に再度表示され、その後は表示されなくなり、表示されなくなります。

したがって、このダイアログを強制的に再度表示する方法はありません。iOS は、アプリの次回の起動時にユーザーに再度尋ねます。

編集: GPS のアラートを表示する必要がある場合は、GPS が有効になっているかどうか、userlocation が nil であるかどうかを確認します。nil でない場合は、スイッチを有効に設定し、そうでない場合は無効に設定します。

MKUserLocation *userLocation = mapView.userLocation;


if (!userLocation.location) 
{
 // Show an alert here to turn on Location service
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Location Service Disabled" 
                                                    message:@"To re-enable, please go to Settings and turn on Location Service for this app." 
                                                   delegate:nil 
                                          cancelButtonTitle:@"OK" 
                                          otherButtonTitles:nil];
    [alert show];
}

そのため、ユーザーは設定で直接 GPS を有効にすることができます。

お役に立てば幸いです。

于 2013-05-09T07:45:39.140 に答える