Re: objc [66375] class Foo is implemented in both BundleA and BundleB
Re: objc [66375] class Foo is implemented in both BundleA and BundleB
- Subject: Re: objc [66375] class Foo is implemented in both BundleA and BundleB
- From: Jens Alfke <email@hidden>
- Date: Fri, 13 May 2016 09:00:23 -0700
> On May 13, 2016, at 1:23 AM, Jeff Szuhay <email@hidden> wrote:
>
> 1) Project headers are only available within the framework and not to any other “consumer” of the framework.
> Which is to say, my bundles, which “consume" the framework, cannot see project headers.
Right. “Project” is just the default.
> 2) Private heads are available to consumers of the framework but only at compile/link time. They are not anywhere
> in the app bundle — which is exactly what I want.
Private headers go into a PrivateHeaders directory in the framework. But there may be a build step in a release/archive build that strips these out; I’m not sure.
(I’ve only used private headers within Apple. Most frameworks have private headers that are for use by other projects in the OS, i.e. AppKit uses private WindowServer headers, Finder uses private AppKit headers, etc.) but they are stripped out of the released SDKs.
> One downside to this is that if I change a framework header I have to rebuild the framework to get the changes
> in the right place for the bundles to see the changes. Minor inconvenience.
Sounds like you could automate that by setting up dependencies between your targets, i.e. make the bundle targets dependent on the framework target.
—Jens
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden