我在用户的崩溃日志中收到以下消息:
Dyld错误消息:未找到符号:_OBJC_CLASS _ $ _ NSMetadataQuery
所以我理解解决方案是我应该使Foundation框架“可选”。但令我觉得奇怪的是这次崩溃只发生在一些iOS4设备上,而不是其他设备上,并且它也不会在4.3模拟器中崩溃。它只发生在iPad(运行iOS4)上,但即便如此,它只在其中一些上发生。有人可以解释为什么会这样吗?
如果这是链接框架的错误,它应该在所有iOS4设备(或至少所有iPad)上崩溃,对吗?
答案 0 :(得分:1)
NSMetadataQuery可在iOS> = 5.0上使用,我假设您知道,因为您正在讨论弱链接框架。
首先,you probably don't need to do that any more.
由于这是在运行时发生的,并且不可重复,因此听起来像是逻辑上的不一致。在没有首先确保类存在的情况下,您是否在任何地方使用NSMetadataQuery?你的代码应该用如下的成语包装:
if ([NSMetadataQuery class] != nil) {
// Use the class
}
答案 1 :(得分:0)
我有这个确切的错误。这不是一个逻辑的例子,因为它甚至在App Delegate被调用之前崩溃了,我对NSMetadataQuery
的使用在生命周期的后期要晚得多。
事实证明,需要弱连接基金会框架。