[TRUKéASTUCE]Intégration d'1 framework via les sources dans un proj XCode perso

LeChatNoirLeChatNoir Membre, Modérateur
octobre 2006 modifié dans Objective-C, Swift, C, C++ #1
Hello !

Si comme moi, vous avez été frustrés du sujet http://www.objective-cocoa.org/forum/index.php?topic=1771.0, si comme mac_manu, vous vous êtes heurtés à  l'impossibilité de refaire ce qui parait être simple à  d'autres, soyez rassurés, ce topic vous apporte la solution  ;D

Grâce à  mon opiniatreté et aux nerfs d'acier et à  la perspicacité de Renaud, voilà  la solution pour inclure un framework dont vous avez les sources directement dans votre projet :

1 - mettre les sources du framework  au chaud dans un dossier à  part (si accès CVS ou SVN, vous pourrez rafraichir sans pb),
2 - glisser le xcodeproj du framework dans votre group framework de votre projet,
3 - sélectionner le xcodeproj du framework fraichement importé,
4 - souvent les frameworks comportent plusieurs target. Cochez la bonne target, c'est à  dire, celle du framework,
5 - Click droit sur votre target à  vous => Get Info (ou pom-i sur votre target),
6 - dans l'onglet général, cliquez sur + pour ajouter une dépendance directe et choisir le framework,
7 - enfin, click droit sur votre target et choisir "Add  new build phase=>New copy File Build Phase
8 - dans le dialogue qui apparaà®t, choisir Frameworks et fermer le dialogue,
9 - faire glisser le framework se trouvant dans votre projet (sous Frameworks=>leframework.xcodeproj=>) dans cette Copy File

Les point 7-8-9 permettent d'embarquer le framework dans votre appli (nécessaire pour l'installer sur d'autres mac).

Bon, jusque là , vous aviez ces informations dans le topic de mac_manu sur iMediaBrowser.
Sauf que chez mac_manu, ça marchait pas. Et chez moi non plus...

La solution réside dans une option de XCode. Pour que cela fonctionne, il faut que les build soient positionnés dans un autre endroit que celui de votre projet.
Tout au moins, il faut que l'emplacement du build du framework soit le même que celui de votre appli.

Ca se change soit dans les infos des projets, soit de manière globale dans les préférences XCode.

Une 2eme chose qui peut empêcher de fonctionner : l'option Active Build Configuration.
Selon les versions d'Xcode, on peut choisir soit "Development/Deployment", soit "Debug/Release".
Pour que cette méthode d'intégration des frameworks marche, il faut que ces infos soient les memes (ca peut être changé dans les infos du projet, y a un onglet permettant de renommer les phases).

Et voilà  ! Ces 2 options vérifiées et un petit clean des familles et hop, ça compile !

Un grand  <3 <3 :adios!: :adios!: :adios!: à  Renaud pour son aide !<br />
a+



Réponses

  • LeChatNoirLeChatNoir Membre, Modérateur
    octobre 2006 modifié #2
    Re,
    Une dernière chose que j'ai oubliée : l'import du header du framework dans votre projet.
    Il faut utiliser [size=20pt]<LeFramework/LeHeaderPrincipal.h>[/size]

    Les chevrons sont importants et indiquent qu'il s'agit d'un header externe au projet et non local.

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