8

J'ai une question plus générale sur l'utilisation de bibliothèques avec Xcode lors de la création d'applications iPhone. J'ai créé un cadre à partir d'un projet sur lequel j'ai travaillé pour en utiliser certaines parties dans d'autres applications. Cela fonctionne plutôt bien, jusqu'à présent. Mais je n'ai aucune idée de comment déboguer dans les fichiers inclus dans le cadre inclus.Débogage d'une bibliothèque avec Xcode

J'espère obtenir une sorte de «meilleure pratique» à ce sujet.

Merci beaucoup
-f

Répondre

4

En général, je vais inclure le projet Xcode pour la bibliothèque en tant que dépendance externe du projet du projet de l'application principale. L'avantage des dépendances de projet, c'est que vous pouvez ajouter une phase de construction qui construit une nouvelle copie de votre bibliothèque avec le projet principal, et bien sûr il vous permettra de définir des points d'arrêt dans le code de la bibliothèque.

6

Il y a eu beaucoup de discussions sur la meilleure façon de réutiliser le code avec des bibliothèques statiques. Je me suis arrêté sur la méthode décrite par Clint Harris (que je pense que Shawn suggère aussi). La création d'une dépendance de projet de cette manière compile automatiquement la bibliothèque pour la cible de votre projet (simulateur/périphérique, débogage/édition) de sorte que vous n'avez pas besoin de quatre copies différentes de la bibliothèque compilée. Il vous permet également d'accéder à la source de la bibliothèque lors du débogage, comme vous le souhaitez. Enfin, les mises à jour de la bibliothèque sont incluses dans tous les projets liés la prochaine fois que ces projets sont compilés (vous n'avez donc pas besoin de recompiler et de redistribuer le binaire de la bibliothèque à ces projets vous-même).

+0

Salut Tim! Merci pour cet indice. Cette intégration fonctionne très bien. Mais je ne suis toujours pas capable de déboguer ma bibliothèque en utilisant des points d'arrêt. Y a-t-il une sorte de pas supplémentaire que je dois faire? – flohei

+0

Je viens de jouer avec ça et j'ai trouvé ce qui suit: Par défaut, quand je définis un point d'arrêt dans mon projet de bibliothèque, il ne casse pas les projets liés, comme vous pouvez le constater. Cependant, je clique ensuite avec le bouton droit de la souris sur le point d'arrêt, sélectionne "Modifier le point d'arrêt" et dans la fenêtre Points d'arrêt, fais glisser ce nouveau point d'arrêt sur le nom de mon projet lié dans la section "Groupes & Fichiers". Ou vous pouvez le faire glisser vers "Global Breakpoints", mais alors il va casser dans n'importe quel projet lié. Une fois que j'ai modifié ce paramètre, le point d'arrêt fonctionne dans le projet lié. Est-ce que ça marche pour toi? –

+0

Cela fonctionne mais il y en avait un: si vous avez ouvert les deux projets, le sous-projet n'apparaîtra pas comme un projet complet dans le projet parent. Fermez donc le sous-projet avant de l'ajouter. (XCode se plaint qu'un problème d'intégrité des données entraînerait l'ouverture du même projet à deux endroits.) – nont

Questions connexes