Hello,
This problem is a little difficult for me to describe, so please bear with me :)
I made an Interface Builder plugin that includes a library object for an NSView subclass, KTView. KTView uses an IBInspector with an xib file called KTStyleInspector.
I then made a new control called KTGradientPicker. KTGradientPicker is a subclass of KTView. I also made a library object for KTGradientPicker and added it to my plug-in.
The problem is that I use the KTGradientPicker control in the KTStyleInspector xib file - so it seems that I have created a bit of a "chicken and egg" problem. When I do a clean build in Xcode, the Plug-in target gives me an error:
CompileXIB /Volumes/Data/KATI/_KTUIKit/KTUIKit/English.lproj/KTStyleInspector.xib
cd /Volumes/Data/KATI/_KTUIKit/KTUIKit
/Developer/usr/bin/ibtool --errors --warnings --notices --output-format human-readable-text --compile /KTUIKit/build/Release/KTUIKitFramework.framework/Resources/KTUIKit.ibplugin/Contents/Resources/English.lproj/KTStyleInspector.nib /KTUIKit/English.lproj/KTStyleInspector.xib
/* com.apple.ibtool.errors */
Internal Error:
Description: Unable to resolve plug-in dependency for "KTStyleInspector.xib".
Recovery Suggestion: Locate the com.KATI.KTUIKit Interface Builder plug-in to continue opening this document. Consider using the --plugin option or Interface Builder's plug-in preferences to resolve this dependency.
Now, immediately after I get this error, I build again, everything is fine and I see this in Xcode's Build Results:
CompileXIB /Volumes/Data/KATI/_KTUIKit/KTUIKit/English.lproj/KTStyleInspector.xib
cd /Volumes/Data/KATI/_KTUIKit/KTUIKit
/Developer/usr/bin/ibtool --errors --warnings --notices --output-format human-readable-text --compile /Volumes/Data/KATI/_KTUIKit/KTUIKit/build/Release/KTUIKitFramework.framework/Resources/KTUIKit.ibplugin/Contents/Resources/English.lproj/KTStyleInspector.nib /Volumes/Data/KATI/_KTUIKit/KTUIKit/English.lproj/KTStyleInspector.xib
/* com.apple.ibtool.document.notices */
/KTUIKit/English.lproj/KTStyleInspector.xib:114: note: This view overlaps one of its siblings.
/KTUIKit/English.lproj/KTStyleInspector.xib:239: note: This view overlaps one of its siblings.
/KTUIKit/English.lproj/KTStyleInspector.xib:239: note: This view is clipping its content.
Touch /KTUIKit/build/Release/KTUIKitFramework.framework/Resources//KTUIKit.ibplugin
cd /KTUIKit
/usr/bin/touch -c /KTUIKit/build/Release/KTUIKitFramework.framework/Resources//KTUIKit.ibplugin
This *kind of* makes sense to me, but I'm still confused.
I guess that the first time around, XCode is looking for the plugin that is being used in the KTStyleInspector.xib file, but It's the very plug-in that it's trying to build. When I ask it to build again, it has some reference to that plug-in now, so there's no more error.
Is there any way for me to get this to build correctly? Would it make a difference if I were to use a .nib file for that inspector inspead of an .xib?
I hope any of this makes sense, I'd be glad to clarify anything if it doesn't.
Thanks,
Cathy