【发布时间】:2016-04-06 07:01:45
【问题描述】:
+(Service *) sharedInstance
{
static LocationService *instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{ <<<< Crash
instance = [[self alloc]init];
});
return instance;
}
我正在使用上面显示的代码在我的应用程序中创建一个单例服务实例。这是从“AppDelegate application:willFinishLaunchingWithOptions:”调用的。
对于大多数用户来说,这段代码运行良好。但对于 2 个用户,应用程序在“dispatch_once(&onceToken, ^{”行崩溃。
他们删除了该应用程序并重新安装了它。但他们仍然看到了问题。只有这 2 个用户面临这个问题。其他人从未见过它。我有 .dsym、.crash 和其他相关文件来做进一步的调试。只是想知道我应该如何处理它?如果有人遇到过类似的问题,他们是如何着手解决的?
【问题讨论】:
-
尝试从静态 LocationService *instance 声明中删除 '= nil' 定义。我认为声明为静态的变量默认初始化为0。
-
显示完整的崩溃日志。
-
@theLastNightTrain,我遇到了这个问题,因为我试图在 CoreLocation 框架中调用当前版本的操作系统不支持的方法。错误可能不在此方法内
标签: ios objective-c xcode crash