2011-11-16 48 views
0

我想要顯示消息,詢問用戶是否接受應用程序將在其設備中使用位置服務。我怎樣才能實現,沒有保存他的位置?我試過做startLocationUpdates,然後stopLocationUpdates,但那不行。如果我刪除了stopLocationUpdates,那是有效的,但位置指示器仍保留在狀態欄中。使應用程序消息的位置授權在應用程序第一次啓動時出現

如果你問我爲什麼需要這個,我在稍後的幾個屏幕上使用Core Location方法。在使用它們之前,我會檢查+ (CLAuthorizationStatus)authorizationStatus,如果它與「授權」不同,我會給出警告消息。那是錯的嗎?

謝謝!

回答

0

我想你打電話給startLocationUpdates然後stopLocationUpdates在同樣的方法?

如果是這樣,則情況下嘗試以下方法:

// Assuming that you have a property called locationManager 
// If you don't then you should at least have an initiated member 
// in order to succeed with the second line below 
[self.locationManager startUpdatingLocation]; 
[self.locationManager performSelector:@selector(stopUpdatingLocation) withObject:nil afterDelay:0.1]; 

這樣的stopLocationUpdates方法將在未來runloop被調用。

+0

謝謝,這工作!我只是不得不將延遲更改爲0.2,因爲有時它有效,有時不會。 – ozking

+0

嘿,它會被蘋果批准嗎? 來自蘋果指南的引用: 「4.1在收集,傳輸或使用位置數據之前未通知並獲得用戶同意的應用程序將被拒絕」 – ozking

+0

該應用程序將自動提示用戶從操作系統獲取使用位置的權限。你應該沒問題。 –

相關問題