ios - 后台 UIDevice CFDictionaryGetValue 错误

标签 ios objective-c multitasking uidevice

我正在检查:

[[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/

相关文章:

iphone - iOS - 如何在更改 View 时停止背景音乐

ios - Tesseract 检测线

ios - 按钮方向问题

iOS swift UICollectionviewcell 快照错误

ios - 在 iOS7+ 上以编程方式打开蓝牙的任何方法

ios - 找不到 NSManagedObject.h 文件错误

ios - Xcode - 使用 XIB 锁定除一个 View 以外的所有 View

multitasking - 网络 worker 是否抢占式?

java - Java 是否可以在一个线程中并行运行多个任务?

java - CPU线程、内核线程、操作系统线程、用户线程之间的区别