2010-11-13 5 views
3

Si j'ai un projet qui a été écrit pour iphone et un projet écrit pour ipad. Y a-t-il une manière recommandée de les combiner dans une application universelle?Projet iphone xcode et projet ipad dans l'application universelle

Ma compréhension est que vous prendriez l'application existante (projet iphone) et le convertir en une application universelle, puis renommer les classes class_iphone, class_ipad etc.

Le processus de coverting comprend Xcode générer une nouvelle pointe MainWindow pour l'ipad et d'autres fichiers connexes ... Mais ce son pénible d'aller dans le projet et de dupliquer les fichiers etc.

s'il vous plaît aviser.

Répondre

2

Vous devrez peut-être renommer vos NIB pour qu'elles soient spécifiques à l'iPhone et à l'iPad, mais vous ne devriez pas avoir à le faire avec vos classes. Je ne dis pas que ce ne sera pas douloureux - seulement que ce sera une douleur différente. Vous devrez envelopper certains code:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
    { 
    } 
else 
    { 
    } 

Et vous devrez faire attention à des cours (comme UIPopoverController) qui sont spécifiques à iPads.

+0

Que diriez-vous d'utiliser un autre xcdatamodel? Est-il possible pour l'iphone d'utiliser un autre xcdatamodel que l'ipad? L'ipad a un peu plus d'entités et je ne veux pas écrire la migration ou combiner le datamodel – Arcadian

+0

Si je n'utilise aucun nib ou constructeur d'interface je ne pourrais pas simplement modifier le main.h et utiliser votre instruction if (ci-dessus) pour lancer l'appDelegate correct ? – Arcadian

+0

Je le pense. Et avez-vous, comme vous l'avez décrit dans votre message d'origine, essentiellement deux bases de code d'application complètes et distinctes dans un seul exécutable? Cela ressemble à une première étape faisable. Je n'ai pas fait ça. J'ai seulement généralisé une application iPhone qui fonctionne pour être une application iOS universelle. – westsider

Questions connexes