Search code examples
ipadios4dyldnsmetadataquery

iOS: "Symbol not found" error on some iOS4 devices, but not all


I'm getting the following message in my users' crash logs:

Dyld Error Message: Symbol not found: _OBJC_CLASS_$_NSMetadataQuery

So I understand the solution is that I should be making the Foundation framework "Optional". But what's bizzare to me is this crash only happens on some iOS4 devices, but not others, and it doesn't crash in the 4.3 simulator either. It's only happening on iPads (running iOS4) specifically, but even then, it's only on some of them. Can someone explain why that might be?

If it's a bug with linking frameworks, it should crash on all iOS4 devices (or at least all iPads), right?


Solution

  • I had this exact error. It wasn't a case of logic as it was crashing before the App Delegate was even called and my usage of NSMetadataQuery was much later in the life cycle than that.

    It turns out that weak linking the Foundation framework was required.