【问题标题】:How to check permission for userLocation如何检查 userLocation 的权限
【发布时间】:2012-10-21 11:10:37
【问题描述】:

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

我的应用使用 iOS 6。

谢谢

【问题讨论】:

    标签: ios ios6 user-permissions userlocation


    【解决方案1】:

    CLLocationManager 实例的委托中,实现

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

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

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

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

    Documentation here.

    【讨论】:

      【解决方案2】:

      我为 iOS 上的易用性权限创建了一个组件。

      在我的 Github 中可用:

      使用block的一个例子:

      /*
         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 ...
          }];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-30
        • 2017-04-07
        • 1970-01-01
        • 2017-09-26
        • 2013-10-21
        • 2016-07-22
        • 2012-06-04
        • 1970-01-01
        相关资源
        最近更新 更多