簡體   English   中英

如何延遲提示位置服務許可的提示

[英]How to delay the prompt for location services permission

在我的應用中,我正在使用CLLocationManager和MKMapView。 當應用啟動時,我向用戶顯示一個必須接受的免責聲明(一次)。 但是,當顯示免責聲明時,會出現一個彈出窗口,要求訪問用戶位置。

有沒有辦法延遲此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];
}
)

僅當您實際請求用戶位置時才顯示位置警報視圖,因此執行此操作的最簡單方法是確保首次運行您的應用程序時,啟動CLLocationManager或顯示MKMapView直到您的免責聲明被接受為止。 這可能需要您四處走動。

也許您需要先檢查免責聲明,以及是否接受了啟動CLLocationManager 如果不接受免責聲明,請等待接受,然后啟動CLLocationManager

- (void)viewDidLoad
{
   [super viewDidLoad]; 
   if (disclaimerAccepted)
   {
      //start CLLocationManager
   }
   else
   {
      //Show disclaimer
   }
}
- (void)disclaimerAccepted
{
    disclaimerAccepted = YES;
    //start CLLocationManager
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM