置换CLLocationManager的“目的”属性(Replacement for “purpos

2019-06-18 06:26发布

在iOS 6中,该purpose CLLocationManager的财产,描述了使用位置服务的原因( @property(copy, nonatomic) NSString *purpose已弃用)。

什么替代,如果有的话,是由苹果公司提出的?

Answer 1:

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

关键是记录在信息属性列表键参考 ,但遗憾的是它没有与弃用注意提到purpose财产。

然而, CLLocationManager.h确实有此评论:

*已过时。 设置使用关键NSLocationUsageDescription在Info.plist的目的字符串。

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

如果iOS 6的下运行,位置管理器将使用的关键。
当在低于iOS 6的运行,钥匙就会被忽略, purpose属性将被使用。



Answer 2:

我只是在我的应用程序相同的问题。

我发现你现在可以设置的活动CLLocationManager! 您可以选择不同的CLActivityTypes,这样你就不必再编写自己的目的。

下面是例如用于基于导航应用

[self.gps setActivityType:CLActivityTypeAutomotiveNavigation];

其他可能的CLActivityTypes是:

 - CLActivityTypeFitness
 - CLActivityTypeOther
 - CLActivityTypeOtherNavigation


文章来源: Replacement for “purpose” property of CLLocationManager