2012-01-03 37 views
1

iPhone的位置我已經設置我的應用程序最初儘快要求的位置,因爲它負載,但在第一次應用程序使用彈出對話框,要求允許從用戶出現短短的一秒鐘,然後消失的觀點完成加載(或某物)。這一切都發生得太快,用戶說「是的,沒關係」。我應該在哪裏放置以下代碼,以便在用戶首次加載應用程序時出現位置權限彈出窗口?獲取有關加載

CLLocationManager *locationManager = [[CLLocationManager alloc] init]; 
CLLocation *location = [[CLLocation alloc] init]; 

locationManager.desiredAccuracy = kCLLocationAccuracyKilometer; 
[locationManager setPurpose:@"A fun way to record where you've answered the questions and how you did at each location."]; 
[locationManager startUpdatingLocation]; 
location = [locationManager location]; 
[locationManager stopUpdatingLocation]; 

謝謝 布倫

+0

我們需要上下文。你在哪裏執行上述代碼? – 2012-01-03 21:47:20

+0

該權限對話框不應該關閉。當我在我的App Delegate的'ApplicationDidFinishLaunchingWithOptions:'方法中啓動位置管理器啓動時,它會啓動權限對話框並阻止,直到用戶回覆它爲止。這就是這樣的模態對話框。 – 2012-01-03 21:52:25

+0

對不起,我在我的第一個視圖控制器的viewDidLoad事件。 – 2012-01-03 22:40:59

回答

2

有很多地方,你可以把這個代碼。基本上,它需要在完成加載用戶界面之後。

它可以在你的AppDelegate,只要它是[self.window makeKeyAndVisible]調用之後。
它也可以是你的第一個的viewController的方法viewDidAppear:。如果您選擇此選項,請記住viewDidAppear:可以多次調用。

+0

我找不到我的應用程序的MakeKeyAndVisible部分,但我確實嘗試將其放在viewDidAppear(在第一個視圖控制器中出現),但仍然導致快速彈出和消失警報請求。 – 2012-01-03 22:48:41

+0

您在創建應用程序時使用了哪個模板? – Guillaume 2012-01-04 10:12:47

+0

這是ios 5 SDK中的標籤欄應用程序。 – 2012-01-05 01:12:55