On Wed, Jan 30, 2013, at 04:41 PM, Quincey Morris wrote: > Where are your private frameworks coming from? > > In Todd's case, the frameworks were built separately (AFAICT) and merely > made available to the main project for linking. In my case, the > frameworks were built by a second project in a workspace that contained > the app project. Perhaps in your case the frameworks are built by an > additional target in a single project? Maybe that's the different factor.
Our frameworks all have their own projects in the same workspace. > It would be great to know why Xcode likes you better. It turns out it doesn't like me better. It also turns out mdfind is broken and cannot find the string "frameworks" in the shell script our build system invokes that contains the line: `frameworks=(*.framework(N))`. So, I'm sorry to give you all false hope. We do have a custom script that enumerates all the frameworks in the built products directory and moves them into the app. But I can indeed offer some helpful information: when you add a target to Xcode, it creates a proxy icon for that target's product in the Products group of the sidebar. This proxy icon is special! Whenever you want to refer to this build product, you want to drag this guy around rather than using the Add Files sheet. Using Add Files will create a standard file reference, which can confuse the Xcode build system and indexer causing lovely UX oddities like putting your build products into the Open Quickly dialog. Using the plus button on the Link with Libraries phase also creates the correct type of proxy object. You can actually see the difference if you crack open the pbxproj: PBXReferenceProxy entries refer to objects from other xcodeprojs which Xcode can resolve when both projects are contained within a workspace. If you use the Add Files command, you're creating PBXFileReference entries which contain a relative on-disk path. If you share your xcodeprojs with others, this distinction becomes very important, because Xcode will wonder why it can't resolve the file reference to "/SomePathNotOnYourSystem/../../../../PrivateFramework.framework", while you scream and point at the project immediately above it that builds that product. Long story short: use the plus button and/or the auto-generated proxy icons in the Products group, not Add Files, to add references to build products! --Kyle Sluder _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com