2010-09-03 6 views
3

Je suis plongé dans le développement iOS et j'ai l'intention de construire quelques applications de base qui utilisent mon propre code réutilisable. Comme je mets à jour les fichiers qui contiennent mon code réutilisable, j'aimerais que ces mises à jour soient reflétées dans tous les projets Xcode qui les utilisent. Comment puis-je faire cela?Qu'est-ce qu'un moyen facile de gérer les fichiers sources partagés entre différents projets Xcode?

Merci d'avance pour votre aide!

Répondre

1

Cela ressemble à quelque chose que vous pourriez utiliser Git et branching pour.

4

Il y a plusieurs façons de le faire. Si votre "code réutilisable" est séparé en bibliothèques, vous pouvez l'empaqueter en tant que projets individuels (qui compileront en bibliothèques statiques) et les relier ensuite à votre projet principal (qui se compile en un exécutable). Un peu compliqué, mais c'est le "bon" moyen. (Pas aussi flexible ou facile que le paradigme de solution/projet de Visual Studio, mais c'est une diatribe pour un autre jour.)

Vous pouvez également glisser-déposer directement un répertoire contenant les fichiers sources dans la fenêtre Projet, soit en utilisant "Créer des références de dossier" ou "Créer de manière récursive des groupes". (De toute façon, vous ne voulez pas utiliser la case à cocher "Copier les éléments" en haut si vous ne voulez qu'une seule copie des fichiers sources.)

J'ai fait les trois. Vous voudrez peut-être commencer par ce dernier - regroupez votre "code réutilisable" dans un dossier quelque part (donc il n'y a qu'une seule copie), puis glissez et déposez ce dossier dans votre projet en utilisant "Récursivement créer des groupes". Un avertissement: si vous le faites dans plusieurs projets et que vous voulez le retirer du projet ultérieurement, n'utilisez pas l'option pour l'envoyer à la corbeille, ou vos autres projets pourraient être foirés.

+0

merveilleux, je Je vais essayer l'option échelle! Merci! – BeachRunnerFred

+0

Un problème avec cette technique est que le code source stocké dans différents arborescences de répertoires n'est pas géré par le référentiel Git de l'application que je développe. Comment travaillez-vous autour de cela? – radven

+0

@radven Vous pouvez peut-être décrire le problème que vous envisagez pour que votre question soit un peu plus claire. –

0

Une solution à laquelle j'ai pensé est de créer un projet de bibliothèque statique, mais de l'utiliser uniquement pour tester le code réutilisable dans cette bibliothèque. Ensuite, créez un lien symbolique entre le sous-répertoire de code source réutilisable de ce projet de bibliothèque et tous les autres projets utilisant ce code. De cette façon, tout le code source est disponible dans n'importe quel projet, et toutes les modifications que je fais dans le code réutilisable seront reflétées partout ailleurs immédiatement (pas d'étape de copie). Et bien sûr, utilisez une bonne méthodologie de contrôle de révision de code source sur ce sous-répertoire, afin que je puisse le versionner, comparer les changements, revenir, etc.

0

la manière correcte est de créer une bibliothèque. dans iOS, vous êtes limité aux bibliothèques statiques, mais les bibliothèques dynamiques et les frameworks sont d'autres possibilités courantes (par exemple, si vous ciblez OS X).

pour configurer cette (en utilisant libStatic comme un nom pour la bibliothèque statique et App comme l'application dans cet exemple):

1) créer le projet libStatic, et le configurer pour compiler les fichiers que vous choisissez

2) ajoutez libStatic.xcodeproj à App.xcodeproj. Cela ajoute les symboles, les index et les références du projet au projet App.

(les étapes restantes prennent tous place dans App.xcodeproj)

3) double-cliquez sur la cible qui dépend de liStatic

4) accédez à l'onglet Général

5) cliquez sur '+' sous la liste des dépendances et ajoutez la cible libStatic aux dépendances.Il est important que vous créiez cette association/dépendance afin que la cible libStatic soit mise à jour au fur et à mesure que vous développez dans App (elle sera construite avant l'application). 6) naviguez jusqu'à la référence du projet libStatic dans l'arborescence des fichiers du groupe &. si nécessaire, cliquez sur le triangle d'affichage pour afficher les produits de libStatic. 7) faites glisser le produit approprié de la référence du projet libStatic dans l'étape de liaison de la cible de l'application.

8) propre, construire, exécutez

1

Créer un projet de bibliothèque statique, puis utilisez la fonction de dépendance interprojet de Xcode pour les construire dans le bon ordre et lier l'application avec la bibliothèque statique

Questions connexes