回答
的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