Added Framework has a Configuration (Release/Debug) ?
Added Framework has a Configuration (Release/Debug) ?
- Subject: Added Framework has a Configuration (Release/Debug) ?
- From: Jerry Krinock <email@hidden>
- Date: Tue, 18 Aug 2009 17:27:59 -0700
A year or more ago, there was a bug in Xcode -- it was unable to
distinguish between the Release vs. Debug configuration of a private
framework you had added to your project and directed to copy into
Contents/Frameworks. Sometimes it built a Release product containing
a Debug configuration of a private framework, or vice versa.
This was reported as fixed in Xcode 3.1.1. I can't find the release
notes now because Apple has broken the link. At the time, I verified
that it was working for me.
But something is still strange. I have a project which contains three
private frameworks that get copied to Contents/Frameworks: Andy
Matuschak's Sparkle, Rainer Brockerhoff's RBSplitView, and one of mine.
Now, first of all, how do you add such a framework to an app project?
If I open the Sparkle project, set the Build Configuration to Debug,
and mouse over the Product, the tooltip shows me a path in my Builds/
Debug/ directory. If I change the Build Configuration to Release and
repeat, then the tooltip shows me a path in my Builds/Release
directory. Hmmmmmm. Which "one" do I drag into my app project???
Well, because I'm more concerned with Release, I set it to Release and
drag "that one". (Actually, you can add them BOTH if you want to, but
I've never tried that.)
But look what happens...
STEPS TO REPRODUCE
1. Activate my application target.
2. Set configuration to Debug.
3. Clean all, including dependencies.
4. Set configuration to Release.
5. Clean all, including dependencies.
6. Set configuration back to Debug.
7. Build.
EXPECTED RESULT:
A nice build
ACTUAL RESULT:
Errors, one for each private framework, because, duh, the ^Release^
version of the private frameworks which it's looking for have been
cleaned and not built yet!
Continuing,
8. Set configuration to Release.
9. Build. It works.
10. Set configuration back to Debug.
11. Build. It works, because now the ^Release^ version of the
private framework is there.
So, I'm wondering if maybe Apple patched over the Copy-Framework code
somehow to get the correct configuration copied into the product, but
the fundamental problem in the data model -- that "Groups & Files" is
not parameterized for build configuration, remains.
I haven't checked this in the latest NDA'd version of Xcode yet. But
I just wanted to pound this out before I forgot the details. If
anyone can shed further light on what's going on, that would be nice.
Should I worried that it is ^linking^ the wrong configuration at
times? Is this going to cause me any trouble?
Sincerely,
Jerry Krinock
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden