WWDC 2005: Xcode 2.1
I installed Xcode 2.1 and played around with it briefly. In addition to universal binary support, there are a few other changes. I'm not sure exactly what's still secret, so I'm going to be conservative for now, and I'll come back and say more later. I think most of the surface-level stuff is safe because 2.1 is available for download for all ADC members.Build Configurations
Build configurations take some of the best ideas of build styles, but rearrange them into something that's much easier to use.
One of the most frustrating aspects of Xcode's build process was the fact that it wasn't always clear whether the target or the build style was in charge of a particular build setting. In addition, switching build styles overwrote the previous product and you had to start from scratch.
In Xcode 2.1, each build configuration builds into a separate location. Each setting in a build configuration is set in exactly one place, and the settings can be stored in a plaintext config file. The config file can be checked in, shared, etc. It's a really simple system that just works. No more strikethroughs!
New Project Format
Xcode 2.1 also introduces the new .xcodeproj format. This enables build configurations, but also makes the project files themselves much easier to read. Unlike .xcode files, they can be reasonably diffed and merged.
Unit Testing
Another interesting addition is built-in unit testing. This is big news and should really improve the quality and ship time for a number of developers. The test results show up right in the build window. The idea here is to employ the "test-first" philsophy used for agile development, including the creation of Tiger itself.
Improved Debugging
Substantial work has been done in the area of debugging. Breakpoints can now be conditional, or can activate actions like shell scripts, applescripts, logging events, etc. This is nice as you're no longer sprinking tons of NSLogs all over the place. We also have watchpoints on variables now.
Breakpoint visualizations are really slick. This is hard to explain abstractly -- you really need to see it. Essentially you can see the flow of activity in an application via Xcode's visual modeling tools.
WebObjects
Tools and development license for WebObjects is now bundled with Xcode, which is an interesting event. We'll have to see what it means. Also, WebObjects now uses Xcode's built-in modeling tools.
More details when/where possible.
WWDC 2005: Xcode 2.1
Posted Jun 6, 2005 — 3 comments below
Posted Jun 6, 2005 — 3 comments below
Alberto Careccia — Jun 07, 05 205
I can't link the main object with i386 libs..
../libmx.dylib does not contain an architecture that matches the specified -arch flag: i386 (file ignored)
Dale — Jun 07, 05 207
Steve — Jun 07, 05 208