Search code examples
objective-cxcodecocoainterface-builderxcode5

XIB can't locate class in static library


I have a static library with a value transformer class in it.

I have a XIB that is trying to use that transformer in bindings.

I get a runtime error: Cocoa Bindings: Cannot find value transformer with name [MyTransformerClassName]

The library is linked in the build settings-- other classes from that library compile fine. How do I get the transformer working? The XIB is the only place its used.

There is this OLD question, but it doesn't seem relevant to XCode 5: Interface Builder can't see classes in a static library


Solution

  • Oh. Found it.

    Needed to use the -ObjC flag in "Other Linker Flags" in the project's Build Settings. This gets the linker to build everything in the library.

    Mentioned here:
    https://developer.apple.com/library/ios/technotes/iOSStaticLibraries/Articles/configuration.html