替换CLLocationManager的“用途”属性

2020/12/15 19:32 · ios ·  · 0评论

在iOS 6中,不推荐purpose使用CLLocationManager属性来描述使用位置服务(@property(copy, nonatomic) NSString *purpose的原因

苹果会提出什么替代方案(如果有)?

purpose在iOS 6中,该属性的替换是一个新的名为Info.plist的键NSLocationUsageDescription(又名“隐私-位置使用说明”)。

该密钥记录在“信息属性列表密钥参考”中,但是不幸的是,该purpose属性的过时注释中未提及该密钥

但是,CLLocationManager.h确实有此注释:

* 不推荐使用。使用键NSLocationUsageDescription在Info.plist中设置目的字符串。

在您的代码中,可以同时设置键和purpose属性(但是如果将来确实要删除该方法,则可能要检查位置管理器是否首先响应该选择器)。

如果在iOS 6下运行,则位置管理器将使用该密钥。

在低于iOS 6的环境下运行时,该键将被忽略并使用
purpose属性。

我在我的应用程序中遇到了同样的问题。

我发现您现在可以设置的活动。CLLocationManager!您可以选择不同的CLActivityType,因此您不再需要编写自己的用途。

例如基于导航的应用程序

[self.gps setActivityType:CLActivityTypeAutomotiveNavigation];

其他可能的CLActivityTypes是:

 - CLActivityTypeFitness
 - CLActivityTypeOther
 - CLActivityTypeOtherNavigation
本文地址:http://ios.askforanswer.com/tihuancllocationmanagerdeyongtushuxing.html
文章标签: ,   ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!