回答
的CLLocationManager
提供類方法來確定位置服務的可用性:
- (BOOL)locationServicesEnabled (for < iOS 4.0)
+ (BOOL)locationServicesEnabled (for iOS 4.0 and greater)
+ (CLAuthorizationStatus)authorizationStatus (for iOS 4.2+)
(和其他人,看文檔)
這個屬性是我一直在尋找!謝謝! =) – nosuic 2011-02-06 16:20:10
如果您的應用程序絕對不能運行沒有定位服務,那麼您可以使位置服務的安裝/運行應用程序的使用應用程序的Info.plist的要求。您可以通過將UIDeviceCapabilities關鍵字添加到應用程序的Info.plist中,併爲其添加相應的「location-services」值減去引號。
通過這種方式配置Info.plist,如果定位服務關閉,或者設備處於飛行模式,或者其他任何設置阻止在設備上使用定位服務,iOS會提示用戶轉向在應用程序打開時位置服務。
編輯:簡短的實驗似乎表明,iOS在這種情況下不提示用戶,所以這不會是一個很好的解決方案。
有關更多信息,請參閱Apple開發人員文檔的信息屬性列表關鍵參考部分。
非常感謝您的信息! – nosuic 2011-02-06 16:19:27
使用以下一段代碼...
if (![CLLocationManager locationServicesEnabled]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Location Service Disabled"
message:@"To re-enable, please go to Settings and turn on Location Service for this app."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
}
使用下面的代碼,這將工作,即使在iOS的8
if([CLLocationManager locationServicesEnabled]&&
[CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied)
{
//...Location service is enabled
}
else
{
//...Location service is disabled
}
- 1. iOS:如何檢查地理位置是否仍然打開?
- 2. 如何檢查套接字服務器是否打開?
- 3. 如何檢查wifi位置服務是否在...?
- 4. 如何檢查位置服務是否啓用在Appcelerator
- 5. Android位置服務 - 檢查位置是否已激活
- 6. 確定定位服務是否打開
- 7. 如何檢查GPRS/3G是否打開?
- 8. 如何檢查文件是否打開
- 9. 如何檢查tsqlconnection是否打開?
- 10. 如何檢查Facebook是否被打開
- 11. 如何檢查jframe是否打開?
- 12. 如何檢查sql_safe_updates是否打開?
- 13. 如何檢查文件是否打開
- 14. 如何檢查EventMachine :: Connection是否打開?
- 15. 檢查Thickbox是否打開
- 16. iPhone檢查位置服務
- 17. 檢查瀏覽器的位置是否打開只有一次
- 18. 檢查服務器套接字是否在另一端打開
- 19. 如何檢查服務是否停止
- 20. 檢查是否已詢問位置服務授權
- 21. 檢查用戶是否不允許訪問位置服務
- 22. 如何檢查兩臺Linux服務器之間的端口是否打開?
- 23. Android - 如何檢查打印服務是否啓用?
- 24. 如何檢查定位服務是否啓用?
- 25. Windows - Python,檢查程序是否打開,如果是,從任務欄打開它?
- 26. 檢查是否有任何UserControl打開
- 27. 如何檢查iOS 7中的特定應用是否啓用位置服務?
- 28. 如何檢查當前的Android設備是否具有Google的位置服務?
- 29. 是否可以檢查位置服務是否處於活動狀態?
- 30. iOS CLLocationManager打開位置服務
你要問這對http://apple.stackexchange.com/可能是在那裏你會得到答案快。 – 2011-02-06 15:59:24