[英]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.