After further experimentation, I've found the problem. Interface Builder doesn't find private header files in a framework. When I changed the header file from private to public, Interface Builder found it.

<rdar://problem/7312530> Interface Builder doesn't find private headers in framework

-Jeff


On Oct 17, 2009, at 11:36 AM, Jeff Johnson wrote:

Hi Kevin.

This occurs with both IB 3.2.1 on 10.6 and IB 3.1.2 on 10.5.

In the IB info window I get these warnings:

1) The 'delegate' outlet of 'AHTSessionWindow' is connected to 'File's Owner' but 'delegate' is no longer defined on AHTWindow.

2) The 'window' outlet of 'File's Owner' is connected to 'AHTSessionWindow' but 'AHTWindow' is not a kind of 'NSWindow' as specified by the outlet type.

AHTWindow is a subclass of an NSWindow subclass defined in one of my frameworks. Doing "Reload All Class Files" in IB does not make the warnings go away. However, "Read Class Files..." with the particular header file from my framework does make the warnings go away.

The source files themselves compile without warnings, so Xcode is certainly able to find the header file in my framework.

-Jeff


On Oct 15, 2009, at 6:24 PM, Kevin Cathey wrote:

Although Interface Builder 3 is supposed to automatically sync with header files in your project, it seems to have trouble with headers in frameworks.
Which version of Interface Builder were you seeing this on? IB 3.2.x will parse the headers for all frameworks you've linked against in your Xcode project.

Kevin

On 13 Oct 2009, at 07:55, Jeff Johnson wrote:

Hi Mark.

I had the same problem with NSWindow subclasses. Although Interface Builder 3 is supposed to automatically sync with header files in your project, it seems to have trouble with headers in frameworks. What I did was select "Read Class Files..." in the "File" menu of Interface Builder and read the header file for my framework class. The solved the problem for me.

-Jeff


On Oct 12, 2009, at 11:22 AM, Mark Gallegly wrote:

I have an NSView subclass defined in a framework called FrameworkView. The
FrameworkView class has a property like so:

@property (nonatomic, retain) IBOutlet NSView* someView;

This framework has the necessary code in it to work as an Interface Builder
plugin, and everything seems to work fine in Interface Builder.


However, if I subclass the FrameworkView in a separate project that contains my .app target, with say a class called MyFrameworkViewSubclass, I get a
warning like this when building the .xib file containing
MyFrameworkViewSubclass:

The 'someView' outlet of 'MyFrameworkViewSubclass' is connected to 'Custom View' but 'someView' is no longer defined on MyFrameworkViewSubclass.

Now, within IB the outlet shows up and I am able to make the connection, and when the app runs everything works fine, but for some reason XCode spits out this warning. Does anybody know what is going on here and how to get rid of
the warning?

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to