gpt4 book ai didi

iphone - 针对 iOS 3 和 iOS 4 启用了 locationServices

转载 作者:行者123 更新时间:2023-12-03 20:24:07 24 4
gpt4 key购买 nike

locationServicesEnabled 从属性更改为方法。

这已被弃用:

CLLocationManager *manager = [[CLLocationManager alloc] init];
if (manager.locationServicesEnabled == NO) {
// ...
}

现在我应该使用:

if (![CLLocationManager locationServicesEnabled]) {
// ...
}

我想支持 iOS 3 和 iOS 4 设备。如何在 iOS 3 设备上检查这一点并消除已弃用的警告?

最佳答案

由于“locationServicesEnabled”属性刚刚被弃用,因此它仍然可以使用(持续时间不确定)。为了动态地处理这种情况,您需要提供防御解决方案。与上面的解决方案类似,我使用:

BOOL locationAccessAllowed = NO ;
if( [CLLocationManager instancesRespondToSelector:@selector(locationServicesEnabled)] )
{
// iOS 3.x and earlier
locationAccessAllowed = locationManager.locationServicesEnabled ;
}
else if( [CLLocationManager respondsToSelector:@selector(locationServicesEnabled)] )
{
// iOS 4.x
locationAccessAllowed = [CLLocationManager locationServicesEnabled] ;
}

对“instancesRespondToSelector”的调用检查该属性是否仍然可用,然后我仔细检查该类本身是否支持该方法调用(作为静态方法,它将报告"is")。

只是另一种选择。

关于iphone - 针对 iOS 3 和 iOS 4 启用了 locationServices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3855152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com