Tout d'abord, à l'installation, les SDK suivants sont présents : Mac OS X 10.3.9, Mac OS X 10.4 (Universal), et Mac OS X 10.5. Passons sur la disparition du SDK pour Mac OS 10.2.8 (que les morts reposent en paix), mais notons plutôt autre chose : le SDK pour Mac OS X 10.5 perd sa notion « Universal ». XCode ne compilerait-il pour Mac OS X 10.5 que des applications pour architecture Intel ?

Pour vérifier ça, il n'y a qu'une seule solution : créer un nouveau projet, et regarder ses paramétrages. Souvenez vous : dans XCode 2.x, vous avez la possibilité de compiler un programme pour les architectures x86, ppc, ou les deux. Avec XCode 3.0, ce choix a disparu. Ça fait peur aux possesseurs de PowerPC, non ? Ce choix est en fait remplacé par un autre : 32 bits, 64 bits, ou les deux. En effet, à partir de XCode 3.0, les applications sont par défaut au format universel. Le choix « 32 bits » active automatiquement le support i386 (Core Duo) et ppc (G4, peut-être G3), et le choix « 64 bits » le support x86_64 (Core 2 Duo) et ppc64 (G5). Il est bien entendu possible d'affiner manuellement le choix des architectures cibles : les architectures ppc7400 (G4) et ppc970 (G5) sont disponibles. C'est d'ailleurs le fait que la liste des architecture ne comporte pas le choix spécifique au G3 qui me fait penser que son support touche vraiment à sa fin chez Apple, ce qui est confirmé par les spécifications systèmes pour Leopard : plus de G3, et uniquement les G4 les plus récents (bien entendu, les G5 et processeurs Intel restent de la partie).

Pour conclure, avec la nouvelle version de XCode qui crée des binaire universels (et encore plus universels que les versions précédentes), les PowerPC vont pouvoir se nourrir de nouvelles applications pendant encore pas mal de temps.

Sinon, pour la forme, voici le résultat après la création d'un simple hello world avec XCode 3.0 :

skuld@skuld# file helloworld 
helloworld: Mach-O universal binary with 4 architectures
helloworld (for architecture x86_64):   Mach-O 64-bit executable x86_64
helloworld (for architecture ppc64):    Mach-O 64-bit executable ppc64
helloworld (for architecture i386):     Mach-O executable i386
helloworld (for architecture ppc):      Mach-O executable ppc

Sinon, au chapitres des nouveautés entre aperçues, mais non testées :

  • Les projets de type Java-Cocoa (applications Cocoa dont le code est en Java) disparaissent au profit des projets de type Ruby-Cocoa.
  • Dashcode, une application permettant de développer rapidement des widgets pour Dashboard.
  • Un nouvel « Interface Builder ».
  • La disparition dans les paramétrage d'un projet de l'activation des instructions Altivec au profit des instructions SSE3.
  • « Instruments », qui permet d'effectuer un monitoring graphique de son application (utilisation mémoire, processeur, entrées/sorties, etc).