杀死

时间:2015-07-03 15:25:01

标签: ios objective-c iphone xcode

我正在开发一个使用位置服务的项目,我注意到我的测试设备上有一些奇怪的东西(iphone 5)。

如果我退出应用程序(使用xcode上的停止按钮或双击主页并向上滑动),我看到位置服务箭头(电池旁边)仍然打开并填写。

当我进入设置,隐私,位置服务时,我看到我的应用旁边的箭头(设置为Always)标记为紫色并填写 - 所以它肯定是由我造成的。

在我的控制器中,我有以下事件监听器

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onAppWillTerminate:) name:UIApplicationWillTerminateNotification object:nil];

和此代码

- (void)onAppWillTerminate:(NSNotification *)notification {
    [self.outdoorLocation stopUpdatingLocation];
    [self.outdoorLocation stopMonitoringForRegion];
}

当我退出时,代码肯定会运行(如果我添加NSLog行,我可以看到这一点)。

重新启动手机也无济于事。

有什么想法吗?

编辑:

以下是

的NSLog输出
NSLog(@"outdoor before stopping is %@", self.outdoorLocation);
// issue stop
NSLog(@"outdoor after stopping is %@", self.outdoorLocation);

产生

[194:5798] outdoor before stopping is <CLLocationManager: 0x1456ccb0>
[194:5798] outdoor after stopping is <CLLocationManager: 0x1456ccb0>

0 个答案:

没有答案