2009-11-04 2 views
3

Je suis nouveau à la programmation iPhone et j'essaie d'utiliser CHDataStructures dans mon projet. Mais je suis en cours d'exécution dans certaines questions:En utilisant CHDataStructures.framework sur iPhone

  1. Lorsque je tente directement de construire juste après le téléchargement, je reçois l'erreur « Fondation/Foundation.h » Aucun fichier ou répertoire. Le SDK actif est "Use Base SDK" et l'architecture active est x86_64. Je crois que je devrais mettre le SDK actif à l'iPhone SDK mais il n'est pas énuméré là; À un certain point (je ne me souviens pas comment) j'ai réussi à le modifier et j'ai eu l'iPhone SDK (simulateur) dans le SDK actif mais quand j'ai essayé de le construire j'ai eu l'erreur suivante: le type de produit 'com.apple.product-type.framework', mais il n'existe pas de type de produit de ce type pour la plate-forme 'iphonesimulator' ";

Et maintenant je suis bloqué. Qu'est-ce que je fais mal?

Merci à l'avance, Nuno

Répondre

3

CHDataStructures est un cadre qui a été écrit pour le Mac. Les frameworks ne sont pas utilisés sur l'iPhone, les bibliothèques statiques sont utilisées à leur place. Je suggère de créer un nouveau projet Cocoa Touch Static Library, puis d'ajouter tous les fichiers source à cette bibliothèque statique. Aucun des fichiers source du projet ne semble inclure Cocoa.h ou d'autres en-têtes spécifiques à Mac, vous devriez donc pouvoir compiler cette bibliothèque statique sans trop de manipulation.

Il y a plusieurs bonnes questions sur la création et l'utilisation de bibliothèques statiques ici, y compris les suivantes:

Pour des exemples de bibliothèques statiques là-bas, Je vous dirigerais vers les projets Three20 et Core Plot.


MISE À JOUR: CHDataStructures prend désormais en charge à la fois une bibliothèque statique cadre Mac et iOS.

+1

Il me vient à l'esprit qu'une cible pour créer une bibliothèque statique pour iPhone serait un bon ajout au projet Xcode pour mon framework. Je vais voir si je peux trouver le temps d'ajouter cela - si quelqu'un veut aider, j'accepte volontiers les contributions. :-) –

+0

Salut Quinn, j'ai juste essayé d'ajouter une cible Cocoa Touch à votre projet et cela ne semble pas être trivial car certaines classes s'appuient sur l'existence de 'NSAllocateCollectable' (par exemple' CHDoublyLinkedList'), ce qui n'est pas le cas de l'iPhone soutien. D'autres articles ici sur SO semblent suggérer que votre bibliothèque fonctionne sur l'iPhone mais pour moi, il semble que ce n'est pas sans modifications au code de gestion de la mémoire. Est-ce que je regarde quelque chose? –

+0

Il devrait être assez facile de définir un 'NSAllocateCollectable()' personnalisé pour une bibliothèque statique de l'iPhone qui ne fait que malloc en dessous, comme le fait 10.4, et 10.5 lorsque le GC n'est pas activé. Cela pourrait aller dans le code qui est seulement inclus dans cette cible. Ce sont des problèmes comme celui-ci qui font que cela vaut la peine d'inclure une cible pour cela, donc les gens n'ont pas besoin de réinventer la roue juste pour utiliser CHDataStructures sur iPhone. –

Questions connexes