iOS9 添加定位功能后,启动应用没有出现允许开启定位权限的通知,或者出现权限通知后,自动消失的解决办法 - 家柱

iOS9 添加定位功能后,启动应用没有出现允许开启定位权限的通知,或者出现权限通知后,自动消失的解决办法 - 家柱

碰到了在添加定位功能后,允许定位权限通知偶尔出现,出现后又快速消失的情况,经过一番了解,解决办法如下:
在AppDelegate.m的
#import "AppDelegate.h"
#import <CoreLocation/CoreLocation.h>

@interface AppDelegate () <CLLocationManagerDelegate>

@property(nonatomic) CLLocationManager *locationManager;

@end
  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    [UIApplication sharedApplication].idleTimerDisabled = YES;
    self.locationManager = [[CLLocationManager alloc] init];
    self.locationManager.delegate = self;

    return YES;
}  
// CLLocationManagerDelegate 代理方法
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
    switch (status) {
        case kCLAuthorizationStatusNotDetermined:
            if ([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {

                [self.locationManager requestWhenInUseAuthorization];//NSLocationWhenInUseDescription
                [self.locationManager requestAlwaysAuthorization];//NSLocationAlwaysUsageDescriptionion

            }
            break;
        default:
            break;
    }
}
同时,在info.plist中,添加
NSLocationWhenInUseDescription(Boolean)// 允许应用在前台定位
NSLocationAlwaysUsageDescription(Boolean)// 允许应用在后台定位
两个都添加默认是第一个。

如果是允许程序在后台定位,打开Project->Capabilities->Background Modes,勾选Location updates选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值