I build a number of plugins and ended up with a lot of shared code so I ended up creating a project that builds a static library with all those pieces, then make all my plugin targets dependent on it so that it gets [re-]built first. I created a common include file that includes all the headers for the code in the static library and then include that header in all my plugins. That keeps the included headers list in the various plugins neat, plus makes it easy to add new stuff to the library without having to update headers all over.

As for linking, so far I haven't had any problems. The only issue I've ever run into is the case where I have a custom NSView class that doesn't get directly referenced in the code because it's being managed from the nib via bindings. In that case I've just added a "if ([MyViewClass class] != NULL)..." to a window controller's +initialize method to force that code not to be stripped, since I do want any classes in the library that I'm not using for a particular plugin to be stripped out.

steve


On Jul 6, 2009, at 1:23 AM, Alexander Bokovikov wrote:

Maybe it's a dummy question, but I can't find a way to share some ObjC classes with several XCode projects. I've created a set of Cocoa classes (.h and .m files) What I'd like to get is the ability to write something like this:

#import <MyDir/MyClass.h>

I don't want to distribute these classes, as a framework, but I would like just to link them directly into every executable, which refers them. As I heard, a static library, having ObjC classes inside, may cause some problems in linking. Therefore I yet didn't try this way.

My question is: can I copy these shared files (.h + .m) into some system directory to make them being visible for any Cocoa project through the import directive, like above?

If no, then what is the correct way to go besides manual inclusion of the same files into every XCode project?

_______________________________________________

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