# Passer d'Xcode 3.2 a Xcode 4.1.1 en cours de projet



## Lio70 (4 Septembre 2011)

Bonjour,

Je suis en train de finir un projet Core Data avec Xcode 3.2.6 sur Snow. Je le teste periodiquement en compilant avec Xcode 4.1.1 sous Lion 7.1 pour evaluer la compatibilite. En effet, je voudrais sortir ce programme sur le MAS et doit donc le produire avec Xcode 4 pour pouvoir le presenter comme compatible avec Lion. J'ai a cet effet une partition Lion sur disque externe.

Ca me gonfle de devoir redemarrer sur le disque externe a chaque fois que je veux tester. Je suis donc tente de reinstaller aujourd'hui mon Mac en gardant une petite partition pour Snow et une partition principale pour Lion, et travailler dorenavant sur Lion pour tout. Et donc finir mon projet directement avec Xcode 4.

Je sais qu'il est en general deconseille de migrer vers un autre environnement en cours de projet mais dans mon cas, la compil avec Xcode 4 sur Lion ne pose pas de probleme. Pas meme un warning concernant mon code. MAIS... 6 warnings concernant le code genere automatiquement par Xcode dans le projet Core Data original, concernant les messages NSLog qui, apparemment, font appel a un type de variable inadequat (%s), dans ce qui touche a la definition du moc, du mom et du persistent store.

En creant un projet Core Data vierge avec Xcode 4 pour comparer, je vois qu'effectivement le wizard d'Xcode 4 genere du code un peu different. Mais a part cela, pas de probleme.

Quel est votre opinion? Des problemes pourraient-ils surgir a partir de cela? Merci de faire partager votre experience.


----------



## Céroce (5 Septembre 2011)

Lio70 a dit:


> doit donc le produire avec Xcode 4 pour pouvoir le presenter comme compatible avec Lion.


Si tu veux utiliser les fonctions spécifiques à Lion, il faut effectivement linker (Base SDK) avec le SDK 10.7, qui effectivement, ne fonctionne qu'avec Xcode 4.1.
Mais si tu veux seulement être compatible, tu peux tout à fait linker avec le SDK 10.6 et donc utiliser Xcode 3.2.5.



Lio70 a dit:


> Ca me gonfle de devoir redemarrer sur le disque externe a chaque fois que je veux tester. Je suis donc tente de reinstaller aujourd'hui mon Mac en gardant une petite partition pour Snow et une partition principale pour Lion, et travailler dorenavant sur Lion pour tout. Et donc finir mon projet directement avec Xcode 4.


Il n'y a pas vraiment de solution. Pour ma part, j'ai 3 ordis: un sous 10.5, un sous 10.6 et un sous 10.7. 



Lio70 a dit:


> Je sais qu'il est en general deconseille de migrer vers un autre environnement en cours de projet mais dans mon cas, la compil avec Xcode 4 sur Lion ne pose pas de probleme.


On le déconseille parce que souvent ça pose un tas de problème pour tout reconfigurer, mais je trouve qu'Apple a fait du bon boulot pour permettre la migration entre les versions 3 et 4.
Après tout, ton projet est tout neuf, je dirais qu'il vaut mieux faire la migration aujourd'hui, plutôt que quand l'appli sera sortie et que les clients attendront les corrections.

Beaucoup de gens râlent à propos de Xcode 4 parce que ça change leurs petites habitudes, mais une fois qu'on l'utilise au quotidien, on a du mal à revenir à Xcode 3; celui-ci sera rapidement oublié.


----------



## Lio70 (5 Septembre 2011)

Céroce a dit:


> Après tout, ton projet est tout neuf, je dirais qu'il vaut mieux faire la migration aujourd'hui, plutôt que quand l'appli sera sortie et que les clients attendront les corrections. (...) Beaucoup de gens râlent à propos de Xcode 4 parce que ça change leurs petites habitudes, mais une fois qu'on l'utilise au quotidien, on a du mal à revenir à Xcode 3; celui-ci sera rapidement oublié.


C'est bien pour cela que je voulais passer sous Xcode 4 sans attendre.
Effectivement, la prise en mains d'Xcode 4 est simple. Ils l'ont bien améliore depuis la beta d'il y a un an.

En ce qui concerne la non-obligation de compiler sous Xcode 4 pour qu'une app soit simplement présentée comme tournant aussi sur Lion (je ne parle pas d'optimiser pour les fonctionnalites propres a ce dernier, je parle juste de fonctionner), il me semblait avoir lu sur le site dev d'Apple (ou dans un des mails qu'ils envoient aux developpeurs) qu'ils exigeaient que l'app soit compilée sous Xcode 4, avec base target = 10.7 et deployment target = 10.6.

Mais j'ai peut-être lu trop vite. Je ne retrouve plus le document.


----------



## Céroce (6 Septembre 2011)

J'ai publié ma propre appli sur le MAS en février et je l'ai soumise avec Xcode 3.2 puisque Xcode 4 n'était pas encore arrivé en version finale.

Apple fournit un document qui recense toutes les règles. Par ex., il faut que l'appli soit compilée en 64 bits. Je t'avoue que je n'ai pas relu le document récemment, mais à la limite, Xcode 4 pourrait servir uniquement à archiver l'appli et la proposer à Apple.

De toute façon, Xcode 3.2.5 fonctionne mal sous Lion (chez moi, pas de débogueur), donc ton choix devrait être vite fait.


----------



## CathyGYM (6 Septembre 2011)

> De toute façon, Xcode 3.2.5 fonctionne mal sous Lion (chez moi, pas de débogueur), donc ton choix devrait être vite fait.


  Ça me rassure de lire cette info, je croyais que je ne savais plus me servir du débugueur ! Dans certains cas j'arrive à voir le contenu des variable, et dans d'autres ça ne marche pas!


----------

