80 votes

Xcode 4.2 : comment inclure un projet dans un autre ?

Je continue à chercher, mais je ne trouve pas une explication claire et simple sur la manière d'inclure un projet XCode, ainsi que toutes ses sous-classes, dans un autre projet. Je vois régulièrement des choses de ce genre dans des exemples de projets que je télécharge sur le Web, mais je ne sais pas comment faire moi-même.

Dans XCode, avec les fichiers .h et .m, et les dossiers, il y a un tout nouveau projet, commençant avec une icône bleue de projet xcode, qui est extensible pour contenir tout dans le projet.

S'il vous plaît, quelqu'un peut-il m'expliquer, étape par étape, ce que je dois faire pour ajouter un projet XCode dans un autre ? J'ai vu une tonne de phrases comme "chemins de recherche en-tête", mais cela ne me dit pas grand-chose.

MISE À JOUR : Après avoir relu la documentation, j'ai réalisé que le projet à inclure doit être glissé sur l'icône BLEUE du projet parent. Les sources ordinaires peuvent être glissées n'importe où, mais un projet doit être glissé sur un projet.

Merci !

145voto

MobileOverlord Points 2615

Cela a beaucoup de sens lorsque vous essayez d'ajouter une bibliothèque statique à vos projets xcode. Il y a quelques étapes nécessaires pour faire cela. Tout d'abord, assurez-vous que le projet de bibliothèque statique soit no ouvert dans XCode.

Commencez ensuite par glisser-déposer le fichier xcodeproj de la bibliothèque statique (depuis le Finder) sur le projet xcode de votre application. StaticLib

Ensuite, vous devez ajouter cette bibliothèque aux phases de construction de votre application. Cliquez sur le projet principal, et sélectionnez l'onglet BuildPhases de la cible.

Build Phases

Vous allez vouloir ajouter l'autre projet aux dépendances de la cible et à votre section "Link Binary With Libraries".

Enfin, l'application doit être consciente de vos en-têtes. Par conséquent, vous devez ajouter le chemin vers vos classes de bibliothèques statiques à vos chemins de recherche d'en-tête d'utilisateur. Allez dans les paramètres de construction de la cible principale et recherchez Header Search Path.

Header Search Path

Cela permettra à votre application de connaître la nouvelle bibliothèque statique.

Il est parfois nécessaire d'ajouter quelques autres drapeaux Linker. Dans les paramètres de construction, recherchez les autres drapeaux Linker et ajoutez les suivants -all_load y -ObjC

Other Linker Flags

J'espère que cela vous aidera, je sais que la première fois que j'ai essayé de faire ça, je me suis cogné la tête contre le mur pendant un moment.

0 votes

Si ce post a été utile, veuillez le marquer comme réponse :) faites-moi savoir si vous avez des questions.

26 votes

Détail important, les gars : Le projet que vous glissez ne doit pas être ouvert dans Xcode. Au cas où quelqu'un rencontrerait le même problème que moi :)

1 votes

@MobileOverlord pourriez-vous mettre à jour ce message ? Vos instructions sont très utiles mais ne semblent pas être précises pour XCode 6. Lorsque je recherche les chemins de recherche de l'en-tête de l'utilisateur dans les paramètres de construction, je ne peux trouver que "Toujours rechercher les chemins de l'utilisateur".

7voto

Raspu Points 1291

Assurez-vous que le projet que vous voulez ajouter comme sous-projet n'est pas ouvert, avant de l'ajouter ou de le déposer.

4voto

JiaYow Points 2591

Vous pouvez simplement glisser-déposer n'importe quel fichier de projet xcode (*.xcodeproj) dans le volet de navigation du projet parent de votre choix.

Vous devrez peut-être ensuite ajouter des dépendances cibles, en fonction de vos besoins.

C'est ce que vous voulez dire ?

0 votes

Si je pose cette question, c'est en partie parce que j'ai essayé de faire glisser le fichier .xcodeproj et que tous les sous-dossiers n'ont pas été copiés. Pire encore, lorsque j'ai essayé de retirer le .xcodeproj pour essayer de le faire glisser à nouveau, j'ai accidentellement supprimé le .xcodeproj du disque ! C'était une journée amusante.... pas

0 votes

C'est parce qu'un projet XCode stocke des références aux fichiers, et non des copies réelles. C'est pourquoi la suppression de votre fichier a en fait supprimé le fichier original du disque. Et comme seules les références sont stockées, les sous-dossiers ne sont pas nécessairement copiés (uniquement s'ils sont référencés dans le projet).

0 votes

Alex, commence à utiliser github, ou un autre service svn. De cette façon, vous ne perdez pas et pouvez jouer autour.

4voto

Sandy D. Points 2596

Assurez-vous de choisir " créer des groupes "au lieu de "créer des références de dossier". Si votre dossier est bleu au lieu de jaune, c'est que vous avez une référence de dossier. Le dossier devrait être jaune.

1voto

Snehal Tanawade Points 35

Glisser et déposer un fichier xcode vers un autre fichier xcode depuis le finder. Il vous demandera de copier le fichier puis de cocher la case et il sera copié dans votre projet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X