【问题标题】:Can i find out when app permissions change?我可以找出应用程序权限何时更改吗?
【发布时间】:2023-03-25 13:04:01
【问题描述】:

我有一个需要使用定位服务的应用程序,但每分钟都会尝试获取数据。这意味着即使用户在一秒钟后允许定位服务,它也会在刷新之前再过 59 次。是否可以知道应用权限何时更改?

【问题讨论】:

  • 拜托一些代码,真的。
  • 为什么不用方法:-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
  • @Zhang 你或许应该这样回答。
  • @Zhang 我会选它作为正确答案,如果你做了一个。

标签: iphone ios objective-c xcode permissions


【解决方案1】:

好的,我会回答的,哈哈。

不过,不要相信我的话,我鼓励您先尝试一下,看看它是否符合您的要求。

-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
    // -----------------------------------------
    // Available authorization status are:
    //
    // kCLAuthorizationStatusAuthorized
    // kCLAuthorizationStatusDenied
    // kCLAuthorizationStatusNotDetermined
    // kCLAuthorizationStatusRestricted
    // -----------------------------------------

    if(status == kCLAuthorizationStatus...)
    {
        // do something here
    }        
}

这是一个 CLLocationManager 委托,因此您需要创建一个 CLLocationManager 对象,然后将其委托设置为 self 并使您的视图控制器符合 CLLocationManagerDelegate 协议:

// .h file
@interface MyClass <...,CLLocationManagerDelegate,UITableViewDelegate,....>
{
    CLLocationManager *locationManager;
}

// in the .m file
-(void)viewDidLoad
{
    ...
    locationManager.delegate = self
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 2013-01-29
    • 2011-03-18
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多