【发布时间】:2014-05-29 18:37:26
【问题描述】:
我创建了以这个项目为核心的小应用程序:
https://github.com/dsdavids/TTLocationHandler
它运行良好,直到我从应用程序中的另一个视图移出声明位置服务。
应用程序在做什么:当它启动时,您可以点击开始按钮和(在模拟器中的位置必须启用)地图上的移动路线会在您移动时显示。
当我在第二个视图中移动开始操作时,问题就出现了。
在第二个视图中,我只想启动定位服务并关闭它。
问题是当我开始在第二个视图上定位时,出现错误(应用程序崩溃EXC_BAD):
TTLocationHandler
...
dispatch_async(dispatch_get_main_queue(), ^{
if (OUTPUT_LOGS) NSLog(@"Sending notification out");
NSNotification *aNotification = [NSNotification notificationWithName:LocationHandlerDidUpdateLocation object:[locationToSave copy]];
[[NSNotificationCenter defaultCenter] postNotification:aNotification];
});
...
我认为这是因为我关闭了第二个视图(启动服务的视图)并且TTLocationHandler 仍然试图向它发送一些东西。
为了更好地理解我的问题,我在 git hub 添加了项目:
https://github.com/1110/common-location-features
您可以下载它并从第二个视图运行启动服务,当关闭该视图应用程序将在几秒钟内崩溃。
如果有人能抽出一点时间告诉我我在这里做错了什么,我将非常感激,因为我确信这是我可能做错的一些小事。
整个代码在SecondViewController.m
谢谢
【问题讨论】:
标签: ios iphone objective-c ios7 core-location