replaceCLLocationManager的“目的”属性
在iOS 6中,用于描述使用位置服务( @property(copy, nonatomic) NSString *purpose
)的原因的CLLocationManager的purpose
属性已被弃用。
苹果公司提出了什么样的替代品?
在iOS 6中replacepurpose
属性是一个名为NSLocationUsageDescription
(aka“隐私 – 位置使用说明”)的新Info.plist键。
关键信息logging在信息财产清单关键参考中,但遗憾的是没有提及purpose
财产的弃用票据。
但是, CLLocationManager.h
确实有这样的评论:
*
弃用。 使用密钥NSLocationUsageDescription在Info.plist中设置目标string。
在你的代码中,你可以同时设置键和purpose
属性(但是你可能想要检查位置pipe理器是否/如果将来实际上删除了该方法时,是否首先响应该select器)。
如果在iOS 6下运行,位置pipe理器将使用密钥。
在低于iOS 6的情况下运行时,密钥将被忽略, purpose
属性将被使用。
我的应用程序中只有相同的问题。
我发现你现在可以设置CLLocationManager!
的Activity了CLLocationManager!
你可以select不同的CLActivityTypes,所以你不需要再写自己的目的。
例如,这是一个基于导航的应用程序
[self.gps setActivityType:CLActivityTypeAutomotiveNavigation];
其他可能的CLActivityTypes是:
- CLActivityTypeFitness - CLActivityTypeOther - CLActivityTypeOtherNavigation