iOS: Unrecognized selector sent to class...

There are several reasons why this could happen. One of this is when adding a static Objective-C Library into your project. While compiling the app may seem to work fine, the actual code using the library may encounter this exception. The simple solution to this is to add a linker flag -all_load to your project's Targets->YourProject->Build Settings->Linking->Other Linker Flags

Read Apple's technical note about this issue here.

IMPORTANT: For 64-bit and iPhone OS applications, there is a linker bug that prevents -ObjC from loading objects files from static libraries that contain only categories and no classes. The workaround is to use the -all_load or -force_load flags. -all_load forces the linker to load all object files from every archive it sees, even those without Objective-C code. -force_load is available in Xcode 3.2 and later. It allows finer grain control of archive loading. Each -force_load option must be followed by a path to an archive, and every object file in that archive will be loaded.


Post a Comment

Hi there! Please leave your message here. Also, I may not be able to respond to your query right away. So please bear with me. Thanks. :)