IOS中 自定义访问用户Location时的提示信息
IOS中,必须经过用户同意才能访问用户的地理位置(CLLocationManager),这一过程是由系统控制的,在第一次请求时为自动询问用户,如果能够向用户展示自己使用坐标的原因,而非恶意访问,用户体验会好很多。
CLLocationManager有一个purpose的属性,通过它就可以在请求中加上自己的信息,这个属性从ios 3.2开始就有了。
CLLocationManager *_locmanager = [[CLLocationManager alloc] init]; _locmanager.delegate = self; _locmanager.purpose = @"请允许访问你的位置,不然,没法干了。"; [_locmanager startUpdatingLocation];
不过,purpose这个属性在ios 6.0中已经被deprecated了。更好的办法是在info.plist中添加NSLocationUsageDescription这个键,在XCode里显示的是“Privacy - Location Usage Description”。ios 6中会读这个值,而不需要添加purpose了。
与些类似的还有NSCalendarsUsageDescription 用于访问Calendar, NSContactsUsageDescription 用于访问Contacts,NSPhotoLibraryUsageDescription 用于访问相册,NSRemindersUsageDescription用于访问Reminder。