Xcode 4.0 : qu'en pensez-vous ?

2456789

Réponses

  • LexxisLexxis Membre
    18:44 modifié #32
    dans 1297241526:

    dans 1297241033:

    J'apprends qu'il ne sera plus possible de développer pour autre chose que Lion avec xCode4 B)
    Et bé, je vais rester avec la version 3 pour un bon moment  :D


    Moi j'ai lu que l'on ne pourrait plus compiler pour Mac OS X.5... Donc X.6 OK. Ce qui est bien différent... ;)


    Je me demande si la compilation pour Leopard pourrait fonctionner si on ajoute le SDK à  la main...
  • tabliertablier Membre
    février 2011 modifié #33
    Je me demande si la compilation pour Leopard pourrait fonctionner si on ajoute le SDK à  la main...
    et probablement remettre un GCC 4.0? J'ai des doutes là !
    Je pense que c'est mieux de garder une vielle machine avec des partitions 10.5 et 10.6 équipé des Xcode y afférents.
  • muqaddarmuqaddar Administrateur
    18:44 modifié #34
    dans 1297178478:

    Sur les forums développeur Apple, ça râle beaucoup sur les instabilités et les fonctions disparues (par exemple, exit les plugins Interface Builder, donc exit BWToolkit...), et tout cela ne semble pas être la priorité d'Apple.


    J'ajoute qu'il est très très lent. Il faut parfois 5 secondes de délai pour déplacer 3 classes d'un groupe à  l'autre !
  • muqaddarmuqaddar Administrateur
    18:44 modifié #35
    dans 1297181193:

    dans 1297179859:

    C'est vrai que la ratio nouveautés/disparitions est positif.

    Par contre, je me permets un aparté sur un warning :

    Quand on écrit ça :

    while (dict = [enumerator nextObject])
    


    Il nous met un warning et nous suggère un double égal si c'est une comparaison qu'on veut faire... Pourquoi pas.
    Et si on veut taire le warning, on doit faire ça :

    while ((dict = [enumerator nextObject]))
    

    Ah cool, enfin le retour de ce warning, que perso je trouve positif.
    Dans la plupart des compilateurs c'est un warning par défaut, et en fait il est plutôt logique. Ca te force à  coder proprement et t'évite de faire des erreurs involontaires.

    Moi perso j'écris toujours
    while (nil != (dict = [enumerator nextObject]))
    
    Au moins c'est clair.

    Après c'est qu'un warning, rien ne t'empêche de le désactiver dans les options de compilation.


    Du coup, il bronche aussi dans les centaines de classe où il trouve le très classique :

    if (self = [super init])
    
  • AliGatorAliGator Membre, Modérateur
    18:44 modifié #36
    C'est pour ça que quand tu tapes "init" suivi de la touche <esc>, et valide, et donc qu'il t'insère le modèle par défaut pour les méthodes init, le modèle qu'il t'insère automatiquement dans ton code est le suivant :
    - (id) init<br />{<br />	self = [super init];<br />	if (self != nil) {<br />		&lt;#initializations#&gt;<br />	}<br />	return self;<br />}
    
  • muqaddarmuqaddar Administrateur
    18:44 modifié #37
    Oui.  :D

    Mais là  où je voulais en venir, c'est qu'il me semble q'au début des années 2000, j'avais toujours vu ça :

    if (self = [super init])
    


    comme étant la meilleure façon d'initialiser une classe.
  • zoczoc Membre
    18:44 modifié #38
    Et pourtant, j'ai le souvenir d'avoir lu quelque part dans une doc d'Apple la recommandation de mettre les doubles parenthèses pour éviter le warning...

  • AliGatorAliGator Membre, Modérateur
    février 2011 modifié #39
    Pourtant dans la doc de NSObject sur la méthode -init on voit ceci :
    - (id)init<br />{<br />&nbsp; &nbsp; self = [super init];<br />&nbsp; &nbsp; if (self) {<br />&nbsp; &nbsp; &nbsp; &nbsp; /* class-specific initialization goes here */<br />&nbsp; &nbsp; }<br />&nbsp; &nbsp; return self;<br />}
    
    Ce quie st contraire aux bonnes règles de codage puisqu'ils devraient écrire "if (self != nil)" et pas "if (self)"

    Par contre Dans les Coding Guidelines ils utilisent bien un "!= nil"
    - (id)init {<br />&nbsp; &nbsp; if ((self = [super init]) != nil) {&nbsp;  // call a designated initializer here<br />&nbsp; &nbsp; &nbsp; &nbsp; // initialize object&nbsp; ...<br />&nbsp; &nbsp; &nbsp; &nbsp; if (someError) {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [self release]; // [self dealloc] or [super dealloc] might be<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; self = nil;&nbsp; &nbsp;  // better if object is malformed<br />&nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; }<br />&nbsp; &nbsp; return self;<br />}
    
    D'ailleurs au passage c'est la première fois que je vois Apple suggérer d'appeler "dealloc" directement éventuellement, même si c'est un cas extrême, quand même, on n'est vraiment jamais sensé appeler dealloc, donc c'est un peu étrange...
  • muqaddarmuqaddar Administrateur
    18:44 modifié #40
    Ouais donc en résumé, ce qui se lit le mieux et qui est le plus correct est :

    - (id) init<br />{<br />	self = [super init];<br />	if (self != nil) {<br />		&lt;#initializations#&gt;<br />	}<br />	return self;<br />}
    


    ou en version plus courte mais moins lisible :

    - (id) init<br />{<br />	if (nil != (self = [super init])) {<br />		&lt;#initializations#&gt;<br />	}<br />	return self;<br />}
    
  • muqaddarmuqaddar Administrateur
    18:44 modifié #41
    XCode 4.0 GM Seed 2 disponible au téléchargement.
    Voyons voir s'il y a eu du progrès sur l'affichage des erreurs dans le code....
  • mars 2011 modifié #42
    En espérant que cette version est plus stable que celle du 3 février....:(

    Et ca prends presque 2 écrans ou un grand écran pour utiliser l'interface, je n'ai pas trouvé comment avoir des fenêtres "flottantes"....
  • muqaddarmuqaddar Administrateur
    18:44 modifié #43
    Moi c'est vraiment l'affichage des erreurs qui me gênait : il te dit qu'il y a des erreurs mais il te dit pas où 1 fois sur 2 !!!
  • chkdskschkdsks Membre
    18:44 modifié #44
    Des améliorations ?
  • zoczoc Membre
    18:44 modifié #45
    dans 1299225794:

    Moi c'est vraiment l'affichage des erreurs qui me gênait : il te dit qu'il y a des erreurs mais il te dit pas où 1 fois sur 2 !!!

    Jamais remarqué çà  de mon coté...

  • StephSteph Membre
    18:44 modifié #46
    De mon côté j'ai souvent des crash et il se relance. Pas terrible ...

    Pour les warnings et les erreurs, c'est super lourd. Même quand tu as corrigé, il laisse parfois l'erreur et il faut faire un Build pour les voir disparaitre.

    Bref, c'est pas mal mais ya encore du boulot :)
  • muqaddarmuqaddar Administrateur
    18:44 modifié #47
    dans 1299226119:

    dans 1299225794:

    Moi c'est vraiment l'affichage des erreurs qui me gênait : il te dit qu'il y a des erreurs mais il te dit pas où 1 fois sur 2 !!!

    Jamais remarqué çà  de mon coté...


    Quand je clique sur l'erreur ou le warning dans la colonne de gauche, il te la surligne pas dans le code, du coup je dois la chercher "à  la main". ça m'arrive très souvent.

    Mais mon projet doit contenir 200 ou 300 classes, je ne sais pas si tu as testé des "gros" projets (enfin pour moi).
  • muqaddarmuqaddar Administrateur
    18:44 modifié #48
    dans 1299230314:

    De mon côté j'ai souvent des crash et il se relance. Pas terrible ...

    Pour les warnings et les erreurs, c'est super lourd. Même quand tu as corrigé, il laisse parfois l'erreur et il faut faire un Build pour les voir disparaitre.

    Bref, c'est pas mal mais ya encore du boulot :)


    Oui, et il te signale l'erreur alors que tu peux même lancer l'application !
    Bref, il se rafraà®chit mal...
  • muqaddarmuqaddar Administrateur
    18:44 modifié #49
    Erreur de montage du dmg téléchargé. Génial quand on télécharge à  90Ko/s...  >:D
  • devulderdevulder Membre
    18:44 modifié #50
    dans 1299231444:

    Erreur de montage du dmg téléchargé. Génial quand on télécharge à  90Ko/s...  >:D


    Bienvenue au club :)

    J'ai eu la même erreur, je l'avais télécharger sur une partition ntfs, je sais pas si c'était la le problème.

    J'ai recommencer sur une partition hfs nickel.

  • muqaddarmuqaddar Administrateur
    18:44 modifié #51
    C'est pas la première fois que ça m'arrive.
    Je suis sur une partition HFS+...
  • SmySmy Membre
    18:44 modifié #52
    dans 1299189808:

    Et ca prends presque 2 écrans ou un grand écran pour utiliser l'interface, je n'ai pas trouvé comment avoir des fenêtres "flottantes"....


    Tu me fais peur, je développe principalement sur un MacBook Air 11" dans les transports en commun, j'espère que Xcode 4 ne va pas me poser de problème.
  • CeetixCeetix Membre
    18:44 modifié #53
    Sur un 11" Xcode 4 n'est vraiment pas adapté ... Déjà  sur mon MBA 13" c'est pas le bonheur total ...
  • SmySmy Membre
    18:44 modifié #54
    dans 1299320873:

    Sur un 11" Xcode 4 n'est vraiment pas adapté ... Déjà  sur mon MBA 13" c'est pas le bonheur total ...


    Ils sont pénibles !
  • CeetixCeetix Membre
    18:44 modifié #55
    Bah en même je connais pas bcp d'IDE optimisés pour du 11" ... J'imagine même pas Eclipse ou Visual Studio sur ton MBA ^^
  • cyranocyrano Membre
    18:44 modifié #56
    XCode 4 au telechargement

    3,99 € pour les non inscrit
  • AliGatorAliGator Membre, Modérateur
    18:44 modifié #57
    17 minutes restantes...
    J'ai pas testé la preview... donc ça sera une première pour moi ce Xcode4 !
    J'espère qu'il est plus stable que ce que vous avez décrit quand vous parliez de la preview...
  • 18:44 modifié #58
    Si ça a pas bougé depuis la GM2, c'est vraiment moyen... Surtout avec SVN et les repo locaux :( :'(
  • SmySmy Membre
    18:44 modifié #59
    Il n'y a pas encore d'obligation de basculer sur xcode 4 pour soumettre, si ?
  • DrakenDraken Membre
    mars 2011 modifié #60
    J'espère bien que non, d'autant plus que je développe sur un iPod Touch 2G qui ne sera JAMAIS compatible avec iOS 4.3 !

    Ceci dis, la nouvelle page de téléchargement pour Xcode 4 contient un lien pour Xcode 3.2.6, dont la version finale a été mise en ligne il y a 3 jours ! Il reste donc de l'espoir pour une certaine pérennité de XCode 3.

  • AliGatorAliGator Membre, Modérateur
    18:44 modifié #61
    dans 1299712375:

    J'espère bien que non, d'autant plus que je développe sur un iPod Touch 2G qui ne sera JAMAIS compatible avec iOS 4.3 !
    Quel rapport ?
    J'ai des projets qui doivent encore compiler pour iOS 3.2, je le fais très bien même en ayant le SDK 4.3, en fixant juste le deployment target à  3.2...
Connectez-vous ou Inscrivez-vous pour répondre.