2011-09-16 26 views

回答

13

我剛剛在我的應用程序中遇到了同樣的問題,我將此添加爲任何使用此問題並遇到此舊問題的人的答案。

問題是如果你在本地instanciate CLLocationManager並要求它更新它的位置,彈出窗口後會立即消失。

你必須使CLLocationManager屬性(或至少你不應該在本地instanciate),然後它的工作。

+0

有同樣的問題,這個答案有幫助 –

+0

你是對的:這是因爲局部變量沒有在其他地方引用,所以ARC會釋放它,它會被釋放,導致對話框消失。 因此,使CLLocationManager屬性或實例變量。 –

0

這聽起來像操作系統要求您批准使用位置服務的應用程序。我不知道有什麼突出的問題會阻止你關閉和重新打開你描述的方式。據我所知,你沒有任何控制權,當你的應用程序觸發一個基於位置的方法(例如-startUpdatingLocation或-startMonitoringForRegion)時,它會自動更新。

有可能你有另一個衝突的觀點,試圖從操作系統警報竊取視圖,但沒有任何代碼,很難說。希望這可以幫助。

+0

是的,這就是發生了什麼。問題是我有不同的視圖,我使用位置服務,但沒有一個在應用程序負載上運行。加載的主視圖和第一視圖不使用位置服務。 – Misha

+0

我會考慮在每個地方禁用你的位置信息,並且一次一個地重新添加它們,直到你找到誰給你帶來麻煩。您可以將您的模擬器重置爲出廠設置,並將重置您的應用程序的位置服務觸發器。這應該有助於你進行測試。 –

相關問題