2008-10-23 8 views
3

Je me rends compte que la vue/contrôleur sera différent entre les applications Mac et IPhone, mais le code du modèle peut être similaire/identique. Alors, quelle est la meilleure façon d'organiser un projet (s) afin que le code du modèle est/peut être partagé?Meilleure façon de partager l'iphone et le code mac entre les projets

  1. Copier/coller - il suffit de dupliquer et de garder la main dans la synchronisation
  2. ont 2 projets Xcode pointent à la workarea - un pour Mac et un pour iPhone et partager le code.
  3. Bibliothèque commune - sans doute vous ne pouvez pas le faire (ou pouvez-vous)

Merci pour les conseils.

Répondre

6

Il y a quelques façons de le faire. La première chose que vous pouvez faire est de créer un projet qui se construit comme un framework sur Mac OS X. Comme vous ne pouvez pas utiliser les frameworks sur iPhone, vous pouvez créer une cible de bibliothèque statique qui contient les mêmes fichiers de code. Cela fonctionne essentiellement, mais les chemins d'en-tête seront différents. Si vous voulez que les chemins d'en-tête soient identiques (par exemple <Myframework/MyFramework.h>), vous devrez modifier le chemin d'installation des en-têtes de bibliothèque statiques afin qu'ils soient copiés dans "$ SDK_ROOT/usr/local/include/MyFramework ", et assurez-vous que/usr/local/include est un chemin de recherche d'en-tête inclus. Vous devrez ensuite installer la bibliothèque et les en-têtes dans chaque SDK_ROOT.

J'ai commencé à faire ce qui précède, mais j'ai trouvé que c'était une douleur royale. J'ai donc fini par faire quelque chose qui est une variante de # 2. Fondamentalement, les chemins d'en-tête sont équivalents en créant un répertoire nommé "Externals" dans ma racine de projet iPhone, puis un répertoire nommé avec le nom approprié ("MyFramework") dans le dossier externe. C'est le dossier que je copie, je fais glisser les fichiers de cadre dans.Enfin, j'ajoute le dossier Externals comme un chemin d'entête système (qui est certes une sorte de piratage grossier). Vous devez ajouter manuellement de nouveaux fichiers au projet iPhone, mais j'ai trouvé que l'installation de libs statiques dans ma racine de build était moins pénible.

1

Je ne suis pas sûr si la suggestion de la réponse précédente fonctionnerait. Si vous regardez mon previous question, vous verrez que j'ai échoué à charger un cadre personnalisé sur l'iPhone, même si le cadre fonctionne correctement sur Mac.

Je vais avec la méthode 2.

+0

oh ... fera attention à cela. –

-2

Vous pouvez développer votre application en JavaScript, CSS et HTML. Vous utiliseriez les objets WebView et UIWebView sur le Mac et l'iPhone respectivement. Vous pouvez faire à peu près tout ce que vous voulez dans les objets WebView, même faire des appels vers Objective-C.

Le programme d'installation de QuickConnectiPhone, situé ici https://sourceforge.net/projects/quickconnect/, installe les modèles QuickConnectMac et QuickConnectiPhone dans Xcode. De cette façon, vous pouvez créer rapidement une application dans un environnement, puis migrer la vue vers l'autre. En fait, le framework QuickConnect est hautement modulaire.

Si vous ne souhaitez pas développer en JavaScript, le même environnement modulaire se trouve du côté Objective-C des modèles installés.

Il devrait vous être plus facile de faire ce que vous essayez.

Questions connexes