PDA

View Full Version : OUIEditableFrame dependencies


tommetge
2010-08-04, 06:26 PM
i apologize in advance- i'm certain i'm missing something critical on my end, but i'm trying to resolve a crash:

*** -[UIDeviceRGBColor isNull]: unrecognized selector sent to instance ...
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIDeviceRGBColor isNull]: unrecognized selector sent to instance ...

i've included (what i believe are) the necessary frameworks (omnifoundation, base, appkit, quartz, and ui) plus the relevant system framework deps. i'm at a bit of a loss- this happens in OUIEditableFrame.m:678:

"if (OFISEQUAL(_insertionPointSelectionColor, color))"

the stack is as follows:

-[OUIEditableFrame setSelectionColor:]
-[OUIEditableFrame didMoveToWindow]
-[UIView(Internal) _didMoveFromWindow...
(etc.)

what i've attempted is to simply add the editor frame to an existing application- added in InterfaceBuilder, plumbed through to a controller... the normal drill.

i know i've missed something, but naivete bites again... anyone mind lending a helping hand? any thoughts?

thanks,
tom

Tim Wood
2010-08-05, 07:48 AM
You'll need to mirror or use directly the build settings in OmniGroup/Configurations/Touch-Application-*.xcconfig. We put our common configuration settings in these files and then reference them from our application build styles (for an example, see the build settings for the TextEditor project and target in OmniGroup/Frameworks/OmniUI/iPad/Examples.

For this particular issue, the build settings you need specifically are from here:


./Touch-Application-Common.xcconfig:OTHER_LDFLAGS = $(value) -all_load -ObjC


This tells the linker to bring in the Objective-C category symbols from the static libraries you've included already. By default, these aren't included since they aren't referenced directly. The -isNull method is a category method on NSObject, defined in OmniFoundation's OFNull.[hm].

tommetge
2010-08-06, 07:28 AM
got it- many thanks!