【发布时间】:2018-08-22 06:15:29
【问题描述】:
我的应用出现问题 - 每次启动应用时,状态栏中都会出现位置图标,即使我不使用位置也是如此。
我的代码:
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[LocationManager manager] startLocation];
return YES;
}
LocationManager.m
@implementation LocationManager
- (id)init {
self = [super init];
if (self) {
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
self.locationManager.delegate = self;
}
return self;
}
+ (instancetype)manager {
static LocationManager *instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[LocationManager alloc] init];
});
return instance;
}
- (void)startLocation {
[self.locationManager requestWhenInUseAuthorization];
[self.locationManager startUpdatingLocation];
}
#pragma mark - CLLocatiomManager Delegate
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
...
}
在我允许位置服务使用我的位置后,每次启动我的应用程序时都会出现位置指示器(即使我从 didFinishLaunchingWithOptions 方法中删除了这一行)。 但是如果我在第一次启动(安装应用程序)时删除此行,则位置指示器不会出现,所以它只是我使用位置服务的一行。
我希望当该行被注释时位置指示器不出现。
【问题讨论】:
-
@franiis 我的意思是,如果我评论这一行,指标仍然会出现
-
你在
info.plist中要求什么功能? -
@franiis 隐私 - 始终位置和使用时使用说明、隐私 - 始终位置使用说明、隐私 - 位置使用说明、隐私 - 使用时位置使用说明。我都写了,有问题吗?我会尝试删除多余的
-
@franiis 我只留下了“Privacy-Location When In Use Usage Description”,但问题依然存在
标签: ios cllocationmanager