Re: Xcode 4 Release Builds
Re: Xcode 4 Release Builds
- Subject: Re: Xcode 4 Release Builds
- From: Seth Willits <email@hidden>
- Date: Thu, 21 Jul 2011 21:05:55 -0700
On Jul 20, 2011, at 9:27 PM, Quincey Morris wrote:
>> In Xcode 4, it seems I'm supposed to create an archive (which seems to *always* build from scratch), and then in the Organizer click on the Share button, go through a couple-panel-sheet to unpackage it and save it somewhere (like the Desktop), and then I have to traverse through the 4-level-deep folder hierarchy
>
> Huh? It's not clear what folder hierarchy you're referring to. If I choose the middle option ("Application"), I get the actual application on the desktop, ready to zip and attach to an email.
I don't. When I "Share" an archive, I get a folder with the default install path. I believe I get ~/Desktop/MyApp/Users/seth/Applications/MyApp.app off the top of my head.
Doesn't happen in a new project though. I don't know what the deal is there.
>> And the only way to even build a Release product in Xcode 4 is to build for Profiling or Archiving.
>
> How did you build a Release product in Xcode 3? You changed the configuration to Release, you built it, you changed the configuration back to Debug. In Xcode 4 you can just Build For Archive directly, which seems easier.
Doing the build is only a small portion of the process. I want to actually get the build product in my hands and leave no trace behind for cleaning up on a rainy day.
Xcode 4, Option 1:
- Build For Archive by using the menu item (there is no shortcut)
- Open the Organizer
- Switch to the Projects tab
- Select my project
- Click on the Derived Data link (Switch to Finder)
- Open the project's Derived Data folder
- Open the Build folder
- Open the Products folder
- Open the Release folder
- Grab the app
Note that if you already have a *Debug* product built, then you can right click on the product in the project navigator to skip a few steps:
Xcode 4 Option 2:
- Build For Archive by using the menu item (there is no shortcut)
- Right-click on the product in the Project Navigator and choose Show In Finder
- This switches to Finder and shows the product in the Debug folder
- Go up a folder level
- Open the Release folder instead of Debug
- Grab the app
Or you can do it the intended way:
Xcode 4, Option 3:
- Archive
- Often wait for complete rebuild (it's losing intermediates?)
- (Organizer opens)
- Click Share
- Click Application
- Click Next
- Pick a destination, and Name, maybe get lucky hit Save
- Press Delete key to delete the archive
- Confirm deleting in the sheet (Cmd-Delete is not supported)
- Switch to Finder
- Navigate to the destination (usually Desktop)
- Product is either there or several folders deep
Xcode 3:
- If I'm in debug, switch to Release
- Cmd-B for Build
- Switch to Finder
- Click on the Release folder in my sidebar
- Grab the app
Xcode 4's intended process by going through archiving, compared to Xcode 3 is a joke. Xcode 3 was much simpler. Why do I have to go through "archiving" to get at my release build when I *don't want* to archive at all?
The only way to avoid archiving is to either:
1) "abuse" the Archiving or Profiling schemes to get them to build you a Release product
2) Make your own scheme for building Release products (which adds even more steps)
Both of those still require going through hoops to get at the build product in the end, as described above, and the idea of building a new scheme to do something every Mac developer is probably going to want to do anyways is a nuisance. And I have to do this for every project? Barf.
What was nice with my Xcode 3 setup is I always had everything in the same ~/build/Release folder so it was always super simple to get the build products. In fact, my "Release" folder is in my Finder sidebar since I use it so often.
So I guess the answer to my question is there really isn't anything this simple in Xcode 4.
--
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