0

有没有办法检查用户是否允许我的应用程序使用他/她的位置坐标?我想在他/她按下按钮提交一些信息之前检查这个,如果用户允许,我只会激活这个按钮。

我的应用程序使用 iOS 6。

谢谢

4

2 回答 2

4

在您的CLLocationManager实例委托中,实现

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error

方法。如果调用此方法并将其error参数设置为kCLErrorDenied,则用户尚未启用使用位置服务。您还可以实施

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status

方法 - 当status此回调方法的参数不是kCLAuthorizationStatusDenied时,则用户已启用您的应用程序使用他的位置。

文档在这里。

于 2012-10-21T11:16:12.833 回答
1

我在 iOS 上创建了一个易于使用权限的组件。

在我的 Github 中可用:

在此处输入图像描述

使用块的示例:

/*
   User can be choose two enum type for request the location authorization:
     - AuthorizeRequestTypeAlwaysAuthorization
     - AuthorizeRequestTypeWhenInUseAuthorization
     */

    [[IOSCheckPermissions globalInstance] checkPermissionAccessForLocation:self.locationManager
                                                      authorizeRequestType:AuthorizeRequestTypeWhenInUseAuthorization
      successBlock:^{

          // SUCCESS ...

    } failureBlock:^{
        // PERMISSION DENIED ...
    }];
于 2015-08-02T14:55:59.507 回答