0

私のアプリでは、CLLocationManager と MKMapView を使用しています。アプリの起動時に、同意する必要がある免責事項を (1 回) ユーザーに提示します。ただし、免責事項が表示されると、ユーザーの場所へのアクセスを要求するポップアップが表示されます。

免責事項が受け入れられるまで、この alertView を遅らせる方法はありますか? ご意見をお聞かせください。

編集:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

if([[NSUserDefaults standardUserDefaults] objectForKey:@"disclaimerAccepted"] == nil) {
    [self firstRun];
    [[NSUserDefaults standardUserDefaults] synchronize];
}
else
{
    [self locationStuff];
}
)
4

2 に答える 2

3

ロケーション アラート ビューは、実際にユーザーのロケーションを要求したときにのみ表示されるため、これを行う最も簡単な方法は、アプリを初めて実行するときに を起動するか、免責事項が受け入れられるまで をCLLocationManager表示することです。MKMapViewこれには、いくつかのメソッドを移動する必要がある場合があります。

于 2013-03-10T17:07:46.797 に答える
0

おそらく、最初に免責事項を確認し、 start を受け入れたかどうかを確認する必要がありますCLLocationManager。免責事項が受け入れられない場合 - 受け入れを待ち、開始しCLLocationManagerます。

- (void)viewDidLoad
{
   [super viewDidLoad]; 
   if (disclaimerAccepted)
   {
      //start CLLocationManager
   }
   else
   {
      //Show disclaimer
   }
}
- (void)disclaimerAccepted
{
    disclaimerAccepted = YES;
    //start CLLocationManager
}
于 2013-03-10T23:33:02.753 に答える