我正在检查:
[[UIDevice currentDevice] systemName]
在 applicationDidEnterBackground 中。它导致 EXC_BAD_ACCESS (SIGSEGV) 信号。堆栈跟踪显示这是在调用 CFDictionaryGetValue 的 UIDevice 内部发生的。
试验、调用:
CFDictionaryGetValue(NULL, "key");
导致同样的错误。
有什么想法吗?我搜索了有关在后台访问 UIDevice 的文档,但没有发现任何迹象表明这应该是一个问题。
谢谢
最佳答案
在 applicationDidEnterBackground: 中调用(和记录)[[UIDevice currentDevice] systemName]:在我的测试中工作正常。 CFDictionaryGetValue(NULL, "key") 总是会崩溃,与你遇到的问题无关。
- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSString *systemName = [[UIDevice currentDevice] systemName];
if ( systemName )
NSLog(@"%@", systemName);
else
NSLog(@"null systemName");
}
关于ios - 后台 UIDevice CFDictionaryGetValue 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14967528/