Re: Debugger at odds with reality? [SOLVED]
Re: Debugger at odds with reality? [SOLVED]
- Subject: Re: Debugger at odds with reality? [SOLVED]
- From: Jerry Krinock <email@hidden>
- Date: Tue, 29 Apr 2008 17:17:10 -0700
On 2008 Apr, 28, at 21:34, Chris Hanson wrote:
On Apr 27, 2008, at 1:43 PM, Jerry Krinock wrote:
Graham, welcome to the apparently small club (about 3-4 oddballs)
who care about what version and configuration of their private
framework gets packaged or run.
That group includes most everybody.
Well, there was not much interest in Xcode-users when we discussed
this a few weeks ago, but now that the club includes Chris Hanson,
we're getting somewhere!!!
A Copy Files build phase will always copy whatever is pointed to by
the reference you add to the build phase.
* If that reference comes from another project, and you aren't using
a shared build directory, that reference will point off into space.
You need to ensure you're using a shared build directory if you want
to use the product from a cross-project reference.
I always use a shared build directory (since you told me to), and when
adding frameworks, I drag the product from within Groups & Files of
the project that builds the framework (since this is what Xcode
documentation says to do). It seems logical to me, that, unlike
anything you can find in Finder, this product reference is not
encumbered with any knowledge of 'build configuration' and therefore
might be free to switch to the current build configuration, which is
what I want. But it doesn't. And also, when I hover my mouse over
one of them, I always get a full path to the framework in the shared
Release build directory.
* If that reference is in a shared build directory and is "build-
product relative" then you need to ensure it has a path like
"MyFramework.framework" rather than "../Debug/MyFramework.framework".
I've never seen such a path. Please explain how you see that.
Whenever I hover my mouse over a framework I've added to Groups &
Files, the tooltip always shows a full path, no matter if it came from
Groups & Files or Finder.
2. Say you set a private framework to build in the normal way,
with Installation Directory = @executable_path/../Frameworks. In
the app project, set the Build Configuration to Debug and Run in
Xcode. The framework that gets run is apparently the one in your
Builds directory, not the one in the app package. However, if you
doubleclick the app's Debug build in Finder, it runs the one in the
app package, which is what I expect it to do in any case. [1]
This is by design. When running a build product, Xcode tells dyld
to first search your built products directory for frameworks and
libraries that it loads. This is because often you will want to do
things like make a change to a framework and then test your
application against that framework without installing that framework
wherever it needs to be installed.
For some people that's "inside the application's embedded Frameworks
directory" but for others that's "in /Library/Frameworks" -
hopefully it's clear that what Xcode currently does is a huge win in
the latter case.
On behalf of all those who have read this far, I thank you for
explaining that.
_______________________________________________
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