[CocoaPods] Guide d'installation avec Xcode

CusmarCusmar Membre
juillet 2015 modifié dans API UIKit #1

Bonjour,


 


J'ai eu du mal à  installer Cocoapods car je n'y comprenais pas grand chose, mais maintenant que j'ai réussi (enfin je crois), j'ai 44 erreurs qui sont apparues et je ne comprends pas comment les résoudre.


J'ai cherché sur Google mais les réponses que je trouvais "contournaient" le problème sans vraiment m'expliquer pourquoi il apparaissait.


 


J'ai voulu installer DateTools et je pense avoir réussi puisqu'il est listé dans mes frameworks.


 


Merci pour votre aide :)


Réponses

  • CéroceCéroce Membre, Modérateur

    As-tu bien ouvert dans Xcode le Workspace (comme indiqué) et non le projet ?


  • CusmarCusmar Membre
    juillet 2015 modifié #3

    Oui j'ai bien ouvert le fichier .xcworkspace et les erreurs sont présentes dans ce fichier.


     


    Et par contre lorsque j'ouvre mon fichier normal je n'ai aucune erreur, malgré le fait que du coup il n'y ait pas Cocoapods d'installé.


  • AliGatorAliGator Membre, Modérateur
    Pour installer CocoaPods, il faut juste faire "sudo gem install cocoapods" dans le terminal, et c'est tout.

    Si cette commande n'a pas marché pour toi, c'est qu'il y a un souci.
    - Peut-être as-tu traficoté ton Ruby par exemple et installé une autre version de Ruby que celle utilisée par le système (ce qui peut arriver si tu es un développeur Ruby qui switch entre diverses versions, mais bon c'est très loin d'être le cas de tout le monde...), ce qui pourrait expliquer que la commande n'ait pas marché comme prévu
    - Si tu dis avoir fini par réussir à  l'installer alors que ça ne marchait pas avant, ça me laisse penser que tu as "bidouillé des trucs pour que ça marche", et du coup ça me fait me demander ce que tu as bidouillé et modifié pour ça, car tu as du coup peut-être cassé des choses dans ton système...?
  • CusmarCusmar Membre
    juillet 2015 modifié #5

    Il y a plusieurs jours, j'avais tenté la méthode ordinaire en suivant le Getting Started de Cocoapods mais je m'étais arrêté en cours d'étape car je ne comprenais pas ce qu'il fallait faire.


    Ce matin, j'ai suivi ce "tutoriel" trouvé sur Stack Overflow :


     



     


     


    1) Open terminal
    2) $ sudo gem install cocoapods (gem will get installed in Ruby inside System library)
    3)pod setup
    4) create a xcode project
    5) cd "$ path to your project root directory"
    6) pod init
    7) open -a Xcode Podfile (podfile will get open in text mode. Initially it will be emppty put the follwoing line of code.)
    8) pod 'DateTools' (Cocoapods Podfile name )
    9) pod install

     


    Le truc, c'est qu'en tapant pod 'DateTools' j'ai eu une erreur m'indiquant que cette méthode était incorrecte, et j'ai pourtant "forcé" l'étape 9 en pensant que ça marcherait quand même. Ce que j'ai cru bon puisque je vois maintenant dans ma liste de Pods DateTools.


     


    Par contre, il s'avère que les fichiers se trouvant dans le dossier Frameworks sont en rouge : libPods-MonApp.a et libDateTools.a.


     


    Je pense m'y être mal pris bien que je pensais bien faire. Comment pourrais-je faire pour tout annuler et recommencer sur de "bonnes bases" ? Je pensais supprimer le Workspace qui s'est créé mais je ne suis pas sûr que ça suffise. Tu as une liste de commandes à  me donner à  utiliser dans le Terminal ? J'ai trouvé plusieurs trucs sur internet mais toutes étaient plus ou moins différentes...


     


    Au niveau de la version de Ruby, je n'ai rien changé et j'ai vérifié il y a plusieurs jours si j'étais bien sur la bonne version et c'est bien le cas (j'avais suivi un tutoriel).


  • AliGatorAliGator Membre, Modérateur
    juillet 2015 modifié #6

    Il y a plusieurs jours, j'avais tenté la méthode ordinaire en suivant le Getting Started de Cocoapods mais je m'étais arrêté en cours d'étape car je ne comprenais pas ce qu'il fallait faire.

    Qu'est-ce que tu n'avais pas compris dans le Getting Started ? Nous sommes intéressés par ton feedback, pour améliorer le guide s'il y a des étapes que tu n'as pas trouvé claires.
     

    Ce matin, j'ai suivi ce "tutoriel" trouvé sur Stack Overflow

    Ah en effet si tu as tapé "pod 'DateTools' dans le terminal, c'est normal qu'il t'ai mis cette erreur. Ce texte était à  rentrer dans le contenu du fichier texte "Podfile", pas dans le terminal ;-)


    La méthode que tu as suivie sur StackOverflow n'est en effet pas très clairement expliquée.
    Il faut la comprendre ainsi en fait :

    == Installer CocoaPods sur ta machine ==
    • 1) Ouvrir le terminal
    • 2) Dans le terminal, taper "sudo gem install cocoapods" (puis taper ton mot de passe quand sudo te le demande pour autoriser l'installation)
    • 3) Une fois cocoapods installé, à  nouveau dans le terminal, taper "pod setup"
    Et c'est tout pour l'installation de CocoaPods à  proprement parler. Ensuite, il va falloir bien sûr l'utiliser. Donc autant les étapes précédentes ne sont à  faire qu'une seule fois, autant les étapes suivantes peuvent être répétées à  chaque fois que tu commences un nouveau projet Xcode et que tu veux utiliser CocoaPods dessus

    == Utilisation de CocoaPods sur un projet Xcode ==
    • 4) Si tu n'as pas déjà  un projet tout neuf, passe sur Xcode et crée un nouveau projet Xcode (si tu en as déjà  un existant, tu peux passer cette étape évidemment)
    • 5) Retourne dans le terminal, et utilise la commande "cd /chemin/vers/to/dossier/contenant/le/projet/xcode" pour que le terminal se place dans le dossier où se trouve ton projet (astuce: tu peux taper juste "cd " puis faire glisser ensuite le dossier du projet depuis le Finder vers la fenêtre du terminal pour qu'il t'insère le chemin d'accès tout seul, plutôt que de le taper à  la main)
    • 6) Une fois que le terminal est positionné dans le dossier du projet, tape "pod init". Cela va te créer un fichier texte nommé "Podfile" déjà  un peu prérempli. NB : Tu peux tout à  fait passer cette étape et créer toi-même un fichier texte from scratch avec ton éditeur de texte favori, mais c'est plus sympa d'utiliser "pod init" car il te propose déjà  un modèle un peu prérempli pour le contenu de ce fichier texte "Podfile"
    • 7) Ouvrir le fichier "Podfile" ainsi créé dans un éditeur de texte.
      • NB : Tu peux l'ouvrir avec l'éditeur de texte de ton choix, mais nous recommandons un éditeur de texte dédié à  l'édition de texte *brut* ou de *code*
      • éviter TextEdit par exemple, qui risque de voir ce fichier comme un document à  lire par un humain et risque de par exemple te faire de la correction d'orthographe ou te remplacer les apostrophes droites par des apostrophes courbes, etc, ce que CocoaPods ne comprendrait pas, au même titre qu'utiliser des guillemets courbes pour écrire @“UneChaine” en Objective-C ne plairait pas au compilateur.
      • Si tu as SublimeText ou TextWrangler par exemple, ça convient très bien... mais Xcode convient aussi également puisqu'il voit bien les fichiers texte comme du code ou du texte brut et ne va pas lui non plus tenter de corriger l'orthographe ou changer les guillemets au cours de ta frappe !
      • C'est pour ça que ton tutoriel te suggère de taper dans le terminal "open -a Xcode Podfile", ce qui est une commande qui veut dire "ouvre moi le fichier nommé "Podfile"... avec l'application ("-a") qui s'appelle "Xcode". Commande qui fait donc exactement la même chose que si tu avais fait glisser-déposer le fichier "Podfile" sur l'icône de Xcode ou avait choisi "Open..." dans le menu "File" de Xcode et sélectionné le fichier "Podfile".
    • 8) Une fois que tu as donc ouvert ce fichier "Podfile" dans un éditeur de texte, tape le texte "pod 'DateTools'" dans ce fichier texte (tout à  la fin par exemple)
    • 9) Une fois que tu as rempli ton Podfile, qui n'est rien d'autre qu'un fichier texte permettant de décrire quels pods tu veux installer (éventuellement pour tels targets Xcode et en quelle version), tu peux sauver ton fichier Podfile, puis retourner dans le Terminal et taper "pod install" pour que CocoaPods analyse ce que tu as décrit dans ton fichier "Podfile" et installe tout ce que tu as demandé / tout ce qui est décrit dans ce Podfile.
    J'espère que ce mode bien plus détaillé est maintenant clair !
  • AliGatorAliGator Membre, Modérateur

    Je pense m'y être mal pris bien que je pensais bien faire. Comment pourrais-je faire pour tout annuler et recommencer sur de "bonnes bases" ? Je pensais supprimer le Workspace qui s'est créé mais je ne suis pas sûr que ça suffise. Tu as une liste de commandes à  me donner à  utiliser dans le Terminal ? J'ai trouvé plusieurs trucs sur internet mais toutes étaient plus ou moins différentes...

    Le plus simple c'est de supprimer :
    - Le workspace qui a été créé
    - le fichier "Podfile.lock"
    - le dossier "Pods"

    Puis de faire les éventuelles modifications nécessaires dans ton fichier texte "Podfile", et de relancer la commande "pod install".
  • Ca ce sont de vraies explications comme j'en cherchais sur le net depuis plusieurs jours. Merci AliGator !


     


    Je testerai tout demain en recommençant pour voir si ça fonctionne mieux, bien qu'en soit je pense avoir fait plus ou moins ce que tu m'as indiqué. J'ai par la suite supprimé la ligne pod 'DateTools' du fichier Podfile.lock car je savais pas vraiment si elle était utile (le tutoriel que j'ai lu n'était pas très explicite). Est-ce qu'il faut conserver les lignes saisies dès l'instant où les fichiers ont été créés ?


  • CusmarCusmar Membre
    juillet 2015 modifié #9


    Qu'est-ce que tu n'avais pas compris dans le Getting Started ? Nous sommes intéressés par ton feedback, pour améliorer le guide s'il y a des étapes que tu n'as pas trouvé claires.




     


    Ce n'est pas que j'ai pas trouvé le tutoriel clair, c'est qu'au premier abord quand je l'ai lu, j'ai eu l'impression qu'il fallait avoir un bagage technique important pour le comprendre.


     


    Cocoapods peut être installé pour développer des applications iOS uniquement ou peut-il être utile sur d'autres machines ? Si je me renseigne à  ce sujet, c'est qu'il serait intéressant, s'il n'est possible de l'utiliser que sur Mac, de parler du Terminal plutôt que de :


     



    You can use a Ruby Version manager, however we recommend that you use the standard Ruby available on OS X unless you know what you're doing.



     


    Pour être honnête, j'ai cherché sur Google ce qu'était ce fameux Ruby Version manager car je n'en avais jamais entendu parlé et ne m'y connaissant pas sur le sujet, je me suis égaré sur les vastes tutoriels du net. Si on tape "how to install Ruby on Mac", on part dans des sites de plus en plus complexes.


     


    Je vais la faire en français en mettant mon point de vue sur ce qui pourrait être ajouté/renseigné dans le Getting Started.


     


     


    EDIT : La mise en page ne s'affiche pas lorsque j'enregistre les modifications alors que dans l'éditeur, elle s'affiche parfaitement ?


     


    • Installation
      • Comme j'en parlais précédemment, préciser qu'il est possible d'utiliser le Terminal si on agit sur Mac, et si d'autres systèmes d'exploitation sont amenés à  utiliser Cocoapods, préciser pour chacun d'entre eux un exemple de Ruby Version manager : ça évite de perdre l'utilisateur - qui abandonnera peut-être ou le découragera (comme moi, je me suis arrêté pendant 2 jours), et de le faire chercher sur le net des solutions alors que vous en utilisez certainement de très bonnes. 
      • Rajouter des captures d'écran serait un (petit) plus.
    • Sudo-less installation
      • Alors honnêtement je n'ai pas compris ce que c'était et à  priori ce n'est pas nécessaire de l'utiliser d'après le tutoriel détaillé que tu m'as exposé. Peut-être préciser à  qui il s'adresse, le mettre en mode Spoiler pour les personnes intéressées uniquement. 
      • Le problème avec ces explications, c'est qu'elles sont extrêmement techniques. Et pour bien que certains comprennent peu l'anglais et soient peu expérimentés dans le domaine, il leur sera difficile de se familiariser avec les informations qu'ils liront. Atterrir déjà  sur une page présentant des bouts de Ruby qui à  priori ne servent pas forcément à  tous n'est pas nécessairement utile.
    • Updating CocoaPods
      • Je n'ai pas eu l'occasion de m'en servir mais là  ça m'a l'air clair.

     


    Pour moi, le Getting Started rassemble l'ensemble de ce qui est nécessaire pour utiliser le service proposé. Vous avez 4 pages différentes non reliées entre elles dans cette même page. 


     


    Si je devais refaire la doc, ou plus simplement le Getting Started, je rajouterais les liens sur la page de manière explicite ou je partirais sur 3 étapes au sein de la même page :


     


    1. Installation de Cocoapods sur sa machine (avec possibilité de la mettre à  jour comme c'est indiqué)
    2. Mise en place des pods sur son projet Xcode. Sur cette étape, je m'attendrais à  avoir une explication de ce qui sera créé (un Workspace sur lequel je devrai travailler) et comment faire (donc récupérer le chemin du dossier en faisant cmd+i ou en tapant cd cliquer clisser du dossier).
    3. Enfin, un exemple simple des solutions pour ajouter des pods à  son projet. J'ai compris qu'il y avait plusieurs méthodes, mais entre autre trouver le Podfile, l'ouvrir (pourquoi pas imposer la méthode dans le Terminal pour ouvrir le fichier avec Xcode) et préciser aussi à  quel endroit insérer les lignes de codes. Et enfin, dans le terminal, utiliser pod install.

     


    Je pense qu'il est important de bien tout détailler et de ne pas se dire que certaines choses sont évidentes.


  • AliGatorAliGator Membre, Modérateur
    juillet 2015 modifié #10

    Est-ce qu'il faut conserver les lignes saisies dès l'instant où les fichiers ont été créés ?


    - Le fichier "Podfile" tu peux l'éditer tant que tu veux " tu moment que tu respectes la syntaxe bien sûr quand même " pour rajouter des lignes "pod 'XXX'" et "pod 'YYY'" plus tard si tu veux rajouter des pods à  ton projet par exemple, ou pour en supprimer si tu n'en utilises plus certains, ou pour mettre certains pods finalement que dans un de tes targets Xcode et pas dans tous, etc.

    - Si tu modifies le fichier "Podfile" (par ex. pour ajouter encore d'autres pods à  ton projet), il faut juste ré-exécuter la commande "pod install" dans le Terminal pour qu'il aille re-lire le fichier Podfile modifié et fasse les changements nécessaires en conséquence

    - Par contre tu n'es pas sensé toucher au fichier "Podfile.lock" (qui sert à  CocoaPods à  savoir ce qui a été installé la dernière fois, c'est un fichier très important car c'est sur lui que se base CocoaPods pour savoir ce qui a été installé et donc si tu as des pods à  mettre à  jour et pas mal d'autres choses).
    --> Tu peux aller le lire si tu veux (ça peut être utile pour savoir quelle version de chaque pod a réellement été installée dans ton projet, ou savoir s'il y a des pods dépendants qui ont été installé en plus, que tu n'avais pas demandé explicitement mais qui étaient quand même nécessaires parce que les pods que toi tu as demandé en ont besoin et dépendent d'eux, etc).
    --> Par contre tu ne dois pas le modifier.
    --> Ce fichier Podfile.lock doit être commité sur GIT (si tu utilises GIT, ou sur SVN ou tout autre système de gestion de version que tu utilises pour sauvegarder ton code et son historique), pour permettre à  tes éventuels collègues qui voudraient installer les mêmes pods que toi (et dans les mêmes versions pour pas que vous ayez des surprises et différences de config) sur ce projet.

    - Tu n'es pas non plus sensé toucher au contenu du dossier "Pods/" et son contenu, qui contient les pods (librairies) téléchargées par CocoaPods et utilisées par le projet "Pods.xcodeproj" qui a été ajouté à  ton workspace.
  • AliGatorAliGator Membre, Modérateur
    Merci pour ton feedback, je vais tâcher de traduire tout ça en anglais et d'adapter l'existant avec tes retours

    En particulier et pour répondre rapidement à  tes questions :
    - Oui c'est vrai que la partie "sudo-less installation" devrait être marquée comme "Si vous savez pas ce que ça veut dire, passez votre chemin"
    - Pour ce qui est de Ruby Version Manager (rvm)... bah en fait elle devrait être marquée pareil : "tu t'en fous, c'est pour les gens avancés qui bidouillent"

    En fait RVM c'est pour installer Ruby, ou pour les gens qui développent des choses dans le langage Ruby et jonglent entre les diverses versions de Ruby (comme nous développeurs iOS jonglons parfois entre les diverses versions d'Xcode ou d'iOS). Mais en pratique, pour l'utilisateur lambda, tout ça il s'en fiche, car sur son Mac avec OSX il a déjà  Ruby d'installé, et avec une version parfaitement compatible avec CocoaPods, donc tout ce blabla sur RVM, c'est pour ceux qui auraient pas la version de Ruby installée par défaut de base avec OSX

    (et non, CocoaPods n'es pas prévu de pouvoir fonctionner sur autre chose que OSX, vu que de toute façon il est fortement orienté pour les devs iOS/OSX)


  • Le plus simple c'est de supprimer :

    - Le workspace qui a été créé

    - le fichier "Podfile.lock"

    - le dossier "Pods"


    Puis de faire les éventuelles modifications nécessaires dans ton fichier texte "Podfile", et de relancer la commande "pod install".




     


    J'ai fait la manipulation, j'ai tout recommencé et j'ai laissé mon fichier Podfile avec simplement à  l'intérieur ma ligne pod 'DateTools' en dessous des deux target. Voici le résultat et j'ai toujours mes 44 erreurs.


     


  • AliGatorAliGator Membre, Modérateur
    Et sinon, petit aparté (indépendant de CocoaPods), mais j'espère que tu utilises un outil de gestion de version pour ton code (comme GIT par exemple) ? Tant pour garder une sauvegarde de ton code, et surtout l'historique des modifications, que pour revenir en arrière si tu as fait des bêtises ou introduit des bugs, etc... bref tout ce pour quoi des outils comme GIT sont fait...

    Car quand je lis " Comment pourrais-je faire pour tout annuler et recommencer sur de "bonnes bases" ", je me dis que si tu utilisais GIT pour gérer l'évolution de ton code garder son historique de modifications, bah tu n'aurais pas posé la question, t'aurais juste eu à  demander à  GIT de revenir en arrière à  la version de ton code avant l'installation ratée de CocoaPods dans ton projet, et tu aurais pu ainsi revenir exactement dans le même était qu'avant comme si tu n'avais jamais exécuté ce "pod install", et réessayer la procédure depuis le début...
  • AliGatorAliGator Membre, Modérateur

    J'ai fait la manipulation, j'ai tout recommencé et j'ai laissé mon fichier Podfile avec simplement à  l'intérieur ma ligne pod 'DateTools' en dessous des deux target. Voici le résultat et j'ai toujours mes 44 erreurs.
     
    attachicon.gifCapture d'écran 2015-07-21 à  23.42.31.png

    Ah, alors :
    - A priori dans l'ensemble ça s'est donc bien passé
    - Mais tu as des warnings (en jaune), qui ne sont pas anodins pour le coup (et sont clairement, vu ce que nous a décrit des 44 erreurs, la source du problème)

    Ces warnings sont dus :
    - Soit à  un relicat d'une tentative d'installation de CocoaPods précédente (c'est vrai que je t'ai dit de supprimer Podfile.lock, Pods/ et le workspace, mais j'ai oublié ça au passage)
    - Soit au fait que tu as personnalisé manuellement les "Configuration Files" dans ton projet WizzU.xcodeproj (bien avant de commence à  te mettre à  CocoaPods sans doute), or CocoaPods utilise aussi ces Configuration Files pour configurer tout seul ton projet, donc si toi tu en as déjà  le warning te dit "attention j'ai voulu mettre mes fichiers de configurations mais en fait je vois que vous en avez déjà  mis certains vous-même, donc du coup pour pas tout casser, plutôt que de remplacer les vôtres par les miens, je vous laisse intégrer mes fichiers de configuration dans les votre " de toute façon vous avez déjà  modifié vos "Configuration Files" donc vous savez déjà  de quoi on parle"

    En effet la plupart des gens n'utilisent pas de fichier de configuration ".xcconfig" sur leur projet donc CocoaPods met les siens tout seul, mais si jamais tu as utilisé des fichiers ".xcconfig" et a déjà  bidouillé ton projet du coup on sait pas ce que tu as voulu faire donc on te guide avec le message dans le warning jaune, qui explique tout ce qu'il faut faire, mais on te laisse la main pour pas tout casser, car tu sais certainement dans ce cas mieux que nous ce que tu voulais faire avec tes propres ".xcconfig".



    Si tu n'as pas du tout créé toi-même de fichier ".xcconfig" et personnalisé ton projet avec ces Configuation Files, ça veut dire que l'erreur vient d'une précédente intégration de CocoaPods dans ton projet (qui a voulu mettre ses xcconfig) et que du coup les fichiers .xcconfig existants que cette nouvelle intégration a vu... bah c'est en fait déjà  ceux de CocoaPods ;-)

    Si c'est ça, le plus simple c'est de revenir en arrière dans ton historique GIT pour annuler les modifications que CocoaPods a essayé de faire sur ton projet pour repartir au propre, car à  force de te foirer lors de tes essais y'a quelquechose qui a dû mal se passer (et si tu n'as pas de backup ou de GIT ou SVN... déjà  honte à  toi c'est quand même risqué et je t'invite donc à  t'y mettre à  assez court terme, et du coup on va devoir te guider pas à  pas si tu n'es pas à  l'aise avec cette notion de Build Settings et Configurations dans Xcode pour essayer de repartir sur des bonnes bases...)
  • Perso j'ai tout compris pour installer cocoaPoad grâce à  ce tuto : http://www.raywenderlich.com/64546/introduction-to-cocoapods-2




  • Et sinon, petit aparté (indépendant de CocoaPods), mais j'espère que tu utilises un outil de gestion de version pour ton code (comme GIT par exemple) ? Tant pour garder une sauvegarde de ton code, et surtout l'historique des modifications, que pour revenir en arrière si tu as fait des bêtises ou introduit des bugs, etc... bref tout ce pour quoi des outils comme GIT sont fait...


    Car quand je lis " Comment pourrais-je faire pour tout annuler et recommencer sur de "bonnes bases" ", je me dis que si tu utilisais GIT pour gérer l'évolution de ton code garder son historique de modifications, bah tu n'aurais pas posé la question, t'aurais juste eu à  demander à  GIT de revenir en arrière à  la version de ton code avant l'installation ratée de CocoaPods dans ton projet, et tu aurais pu ainsi revenir exactement dans le même était qu'avant comme si tu n'avais jamais exécuté ce "pod install", et réessayer la procédure depuis le début...




     



    Malheureusement je n'ai pas utilisé d'outil de gestion. Je n'ai pas dû le dire, mais c'est ma toute première application et lorsque j'ai suivi le tutoriel qui m'a permis d'en arriver là  où j'en suis, il n'a été fait nulle part l'objet d'explications à  ce sujet, ni de recommandations.


     


    Je ne peux donc à  priori pas revenir en arrière selon tes dires. Mais si c'est envisageable, je pourrais créer un nouveau projet, m'inscrire à  GIT et m'en servir (il me faudrait peut-être des explications plus poussées...), installer Cocoapods et tester si ça fonctionne, puis, enfin, réinsérer mon Story board et mes différents fichiers. 


     


    J'avais installé des frameworks avant de connaà®tre l'existence de Cocoapods, à  savoir l'API Facebook, mais aussi celle de Parse. Je suppose que 2 pods officiels (j'entends conçus par Facebook et par Parse) existent pour remplacer ces 2 intégrations ?


     


    Je pense que partir sur de bonnes bases même s'il s'agit de tout abandonner pour recommencer ne peut être que bon pour la suite. J'espère pouvoir obtenir ton aide pour me guider dans cette démarche, notamment l'intégration d'abord de GIT puis ensuite de CocoaPods - qui ne sera pas nécessaire puisque tu m'as dors-et-déjà  indiqué ce qu'il fallait faire.


     





    Perso j'ai tout compris pour installer cocoaPoad grâce à  ce tuto : http://www.raywenderlich.com/64546/introduction-to-cocoapods-2




     


    Merci, je m'en servirai quand je recommencerai à  zéro. :)

  • AliGatorAliGator Membre, Modérateur
    juillet 2015 modifié #17
    Alors oui effectivement, histoire de ne pas partir sur un projet qui est peut-être déjà  un peu corrompu par tes essais infructueux (et aussi pour ne pas galérer pendant des heures et te faire une mauvaise opinion de CocoaPods à  trouver ça compliqué alors qu'en fait c'est juste que vu tes essais et le sac de noeuds que ça a dû te créer ton projet actuel n'est sans doute pas le meilleur point de départ) du coup ça peut valoir le coup de partir d'un nouveau projet (au moins pour te faire la main) pour faire tes tests avec CocoaPods dessus.

    Une fois que tu auras bien expérimenté avec, il sera toujours temps éventuellement de retourner à  ton projet WizzU pour essayer de régler le problème que tu as (à  moins que tu recrées from scratch un projet, et ne reprenne que les fichiers .h/.m, ça pourra aussi être une solution pour pas se perdre dans les modifications de partout)

    En + l'avantage si tu crées un nouveau projet au moins pour "t'entraà®ner à  CocoaPods", c'est que si tu fais des bêtises ou que ça te casse des trucs parce que tu as mal fait certaines manips, c'est pas grave si c'est sur un projet de test (et que tu ne t'es pas encore mis à  GIT)
  • CusmarCusmar Membre
    juillet 2015 modifié #18

    Bah du coup oui je repartirai sur quelque chose de tout neuf, et j'importerai mes fichiers .swift ou j'en recréerai et je copie/collerai mon code d'un fichier à  un autre. Ca ne devrait pas prendre trop de temps et tout sera comme neuf.


     


    Par contre au niveau de GIT, j'ai regardé rapidement et il faut que je souscrive à  un compte développeur ? En toute logique ce serait ce qu'il faut faire. Et ensuite, comment ça se passe ? Le backup se fait automatiquement (un peu style TimeMachine) ?


     


    Pour Parse et l'API Facebook, des pods existent et sont-ils fiables ? Car sur la doc de Parse par exemple, il n'en est nulle part fait allusion.


    Après quelques recherches, j'ai trouvé ce pod, donc au niveau du fonctionnement ça remplace simplement les fichiers que j'ai importés dans mon projet ? 


     


    Lorsque je suis le Getting Started de Parse, ils indiquent ceci :


     


  • CéroceCéroce Membre, Modérateur

    Par contre au niveau de GIT, j'ai regardé rapidement et il faut que je souscrive à  un compte développeur ?

    Quand tu crées un nouveau projet, il faut juste cocher la case "Create git repository".
    Ensuite, il faudra faire des "commit" pour figer le code dans un état, mais je ne vais pas faire un cours sur git ici, c'est pas ce qui manque sur le web.

    Et ensuite, comment ça se passe ? Le backup se fait automatiquement (un peu style TimeMachine) ?

    Pas vraiment. git fait de la gestion de version: il conserve toutes les versions de chacun de tes fichiers. ça te permet de revenir à  une ancienne version et de voir ce qui a changé. Ce genre d'outils est indispensable quand on travaille à  plusieurs.
  • AliGatorAliGator Membre, Modérateur

    Bah du coup oui je repartirai sur quelque chose de tout neuf, et j'importerai mes fichiers .swift ou j'en recréerai et je copie/collerai mon code d'un fichier à  un autre. Ca ne devrait pas prendre trop de temps et tout sera comme neuf.

    Oui c'est à  mon avis la meilleure solution pour partir d'un truc propre.
     

    Par contre au niveau de GIT, j'ai regardé rapidement et il faut que je souscrive à  un compte développeur ? En toute logique ce serait ce qu'il faut faire. Et ensuite, comment ça se passe ? Le backup se fait automatiquement (un peu style TimeMachine) ?

    En ce qui concerne GIT, je t'invite à  faire une recherche sur le forum, car on en a déjà  parlé sur plusieurs sujets, avec certains posts qui expliquent même les concepts, l'intérêt et les avantages, etc..., et puis c'est un sujet bien différent de CocoaPods donc autant en parler dans un sujet dédié plutôt qu'ici.
     

    Pour Parse et l'API Facebook, des pods existent et sont-ils fiables ? Car sur la doc de Parse par exemple, il n'en est nulle part fait allusion.
    Après quelques recherches, j'ai trouvé ce pod, donc au niveau du fonctionnement ça remplace simplement les fichiers que j'ai importés dans mon projet ?

    Alors d'après mes infos, ce pod est celui maintenu par les créateurs de Parse. Au moins 2 de ceux qui sont indiqués comme "Maintainers" de ce pod sont des employés de Parse. Donc j'aurai tendance à  dire que oui il est fiable ;-)

    Et oui, tout l'intérêt de CocoaPods c'est que du coup tu n'as plus à  mettre les fichiers à  la main, ça remplace effectivement cette étape.
     

    Lorsque je suis le Getting Started de Parse, ils indiquent ceci :
     
    attachicon.gifCapture d'écran 2015-07-22 à  15.58.38.png attachicon.gifCapture d'écran 2015-07-22 à  15.58.56.png
     
     
    Si j'ai bien compris le fonctionnement de CocoaPods, je devrais agir dans cet ordre pour intégrer Parse :
     
        1. Installer CocoaPods dans mon projet
        2. Ajouter le pod 'Parse' au Podfile
        3. Faut-il ajouter les dependencies ? (Etape 3 du guide)
        4. Connecter mon app à  Parse en y ajoutant le code fourni dans mon AppDelegate
     
    J'ai bien compris ? :)

    Je vois que tu as tout compris :)

    Il suffit en effet d'ajouter "pod 'Parse' dans ton Podfile (puis d'exécuter "pod install" pour effectivement installer ce nouveau pod que tu as listé), et ensuite tu ne fais que la dernière étape décrite dans leur guide (le code à  ajouter dans ton AppDelegate).

    CocoaPods s'occupera de télécharger le SDK de parse, récupérer tous les frameworks et dépendances de l'étape 3 et ajouter tout ça pour toi au projet, donc tu n'as ni à  récupérer leur SDK, ni à  l'ajouter à  ton projet à  la main, ni à  ajouter les dépendances de l'étape 3, c'est CocoaPods qui s'en chargera. Le seul truc que CocoaPods ne fait pas, c'est écrire ton code pour toi :D
  • CusmarCusmar Membre
    juillet 2015 modifié #21

    Merci beaucoup à  vous deux, je vais tester tout ça et chercher des infos par rapport à  GIT :)


     


    (J'ai modifié le sujet pour qu'il soit plus pertinent sur Google pour faire profiter d'autres personnes de votre aide.)


  • CusmarCusmar Membre
    juillet 2015 modifié #22

    Le problème est résolu, je suis reparti de zéro en utilisant Github (j'ai créé un repo que j'ai intégré à  mon projet), j'y ai ensuite intégré CocoaPods avec les pods dont j'avais besoin, et, enfin, j'ai copié l'ensemble des fichiers de mon ancien projet sur le nouveau et tout s'est parfaitement déroulé. Et encore mieux, maintenant ça marche !  :D


     


    Merci à  tous pour votre aide et pour vos conseils. :)


  • Perso cette page m'a pas mal aidé avec Cocoapods


     


    http://www.raywenderlich.com/64546/introduction-to-cocoapods-2


  • CusmarCusmar Membre
    juillet 2015 modifié #24


    Perso cette page m'a pas mal aidé avec Cocoapods


     


    http://www.raywenderlich.com/64546/introduction-to-cocoapods-2




     


    C'est la même que celle que tu m'as montré hier ? J'ai regardé et je pense que ça me sera utile lorsque j'installerai des pods un peu plus poussés que Parse ou FacebookSDK. Mais merci :)


     


     


    Suite à  quelques recherches sur le forum, j'ai lu que certains utilisaient d'autres services pour sauvegarder les fichiers en ligne, en plus de Github. Quel en est l'intérêt ?


    Admettons que je save tout sur un disque dur + sur Github, ai-je intérêt à  utiliser un autre service (en ligne ou non) ou est-ce suffisant ?


    Promis, c'est ma dernière question à  ce sujet ! Et j'osais pas remonter un ancien sujet parlant de Github pour poser cette [petite] question.


  • Désolé pour le doublon


     


    Là  on s'éloigne du sujet fait des recherche sur Bitbucket qui permet de faire des repo privé gratuitement.


     


    Il est temps d'ouvrir / consulter un autre sujet ;-)


  • J'ai déjà  souscrit à  Github, mais je prends note au cas où.


     


    Oui je vais m'arrêter là  ^^


Connectez-vous ou Inscrivez-vous pour répondre.