Re: Xcode 4 Release Builds
Re: Xcode 4 Release Builds
- Subject: Re: Xcode 4 Release Builds
- From: Seth Willits <email@hidden>
- Date: Fri, 22 Jul 2011 17:59:54 -0700
On Jul 21, 2011, at 10:39 PM, Quincey Morris wrote:
> a. I don't understand why you're getting a folder hierarchy from the "Share" option. My guess is it's something to do with the installation/deployment build settings.
Right. Some setting wonkiness from and Xcode 3 project I suppose. I guess it's a non-issue once I sort the settings out.
> b. I don't understand your aversion to creating a scheme to build the Release configuration easily.
You can already build a Release product using Archive or Profile. They both build a Release configuration, so what difference does a new scheme make? You still have to go through all of the other steps to actually *get* the built product. Building it is trivial. Getting it in my hands is not as easy as it was before.
> Why do you feel the need to call this "abuse" (other than an understandable general desire to kick Xcode 4 with steel-tipped boots)?
I was calling the use of the "Profile" and "Archive" schemes to neither "Profile" or "Archive" as "abuse". Abuse/misuse/whatever. It's a mild point.
> c. I could *swear* I saw an Xcode build settings setup (reading the Xcode 4 Guide when it was first released) that exactly mimicked the Xcode 3 build folder setup, for the explicit purpose of interoperating with the Xcode 3 workflow. It's a preference that says to honor the build settings for the output directories, instead of ignoring them. You didn't say whether or not you looked for this.
I've fiddled with the settings in Xcode's GUI preferences yes. But maybe there's a command line option. I haven't read the guide in its entirety.
> d. You can put a Derived Data folder in your sidebar, too. The only question is whether you can share a single Release folder for all the Release-configuration products of all your projects. I'm pretty sure the answer to that question is "Yes", if you set the preferences accordingly.
Right. In that case, I'd be 90% happy and would stop complaining, but I think the reason that Xcode 4 doesn't share build folders at all is because in Xcode it would often cause problems with the wrong dependent product being used in a build. In Xcode 3 I sometimes could get myself into a situation where the wrong version of a framework was being linked to by the project I was building. I forget the details, but I know I had to clean out every dependency's project and start building over again.
>> - Often wait for complete rebuild (it's losing intermediates?)
>
> Are you saying you think this is a bug? Although I haven't seen it documented, the Archive function *always* rebuilds the product completely, presumably to ensure that you can't release something that uses out-of-date intermediate output. Although it's slower, it seems like a good new feature to me.
Alright so I'm not crazy! But if you do a Build For Intermediate, I think does an incremental build. (Not positive.)
I don't like it. If it can't trust itself to build an archive correctly, then why should I trust it to build my debug versions correctly? :p
Seems odd to me, but like you say, if it's only for final releases, it's not too terribly annoying. But everyone's saying to use Archive to build my temp release builds which I do a lot of.
> Also, barking up the same tree as before, that's another reason why a scheme that builds to the Release configuration is advantageous. It certainly isn't going to rebuild everything each time (and you get to use Command-B).
Right. So then the question is, why doesn't Xcode just do this for me?
(The answer, I believe, is heavy iOS workflow bias.)
> P.S. I wonder whether there is in fact something in the build settings that would help you. If, in fact, there is a combination of installation/deployment settings that will actually "install" your application (even, say, in ~/Applications), it seems to me you're problem is mostly solved, because you won't need to extract anything from the Archive at all.
That thought loosely popped into my head too. But doing it for each project is tedious. I think there's certainly _something_ I can do to get it to do what Xcode 3 sorta did (I could for instance add a script as the last step of every build which just copies the product into my .../Release folder somewhere), but it's still surprising Xcode doesn't do something for me.
--
Seth Willits
_______________________________________________
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