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。

 

posted on 2013-01-10 16:02  __熊_  阅读(2818)  评论(0编辑  收藏  举报

导航