Missing Categories

Missing Categories

On some platforms, the dynamic loader doesn’t include a shared object in a process if it doesn’t detect that the executable uses any symbols from that object. This can cause a problem for pure Objective-C shared objects, for example frameworks that add categories to existing classes, because the loader doesn’t detect the method selectors as referenced symbols.

The symptom of this problem is a runtime exception that occurs when an object receives -[NSObject doesNotRespondToSelector:].

Tell the linker to instruct the loader to unconditionally load an object by adding these options to the linker invocation in your GNUmakefile, for example, by adding to the ADDITIONAL_LDFLAGS variable:

ADDITIONAL_LDFLAGS=-Wl,--no-as-needed