Gleiche Code-Basis für iPhone / Desktop-App

8

Ich habe eine iPhone / iPad App, die ich auf MacOSX portieren möchte. Die meisten meiner objektiven C-Klassen sollten gut funktionieren, solange sie kein UIKit-Zeug enthalten. Offensichtlich wird die Schnittstelle anders sein.

Was ist der beste Weg, dies in Xcode zu tun? Starten Sie ein komplett neues Projekt? Ein neues Ziel hinzufügen? Wie kann ich die verschiedenen Plattformen synchron halten? Sollte ich nur Git mit mehreren Zweigen verwenden?

    
hanno 06.01.2011, 16:30
quelle

2 Antworten

9

Ich hatte Schwierigkeiten, ein einheitliches Projekt mit unterschiedlichen Zielen für die beiden Betriebssystemtypen einzurichten, also teile ich das im Allgemeinen in zwei Projekte auf, die Quelldateien teilen.

Für eine Anwendung, die auf Mac und iOS ausgerichtet ist, tendiere ich dazu, ein Verzeichnis für die Anwendung zu erstellen. Ich platziere die beiden Projekte darin und richte ein Verzeichnis für gemeinsame Quelldateien ein, eine für iOS-spezifische Sachen und eine dritte für Mac-spezifische Sachen. Auf diese Weise haben Sie möglicherweise verschiedene Projekte, aber freigegebene Dateien werden zwischen ihnen aktualisiert, wenn sie geändert werden. Die einzige Zeit, die Sie manuell synchronisieren müssen, ist, wenn eine neue freigegebene Datei zur Anwendung hinzugefügt wird und beide Projekte unabhängig voneinander hinzugefügt werden müssen.

Sie sollten in der Lage sein, Ihr bestehendes Projekt neu zu strukturieren, um dies ohne große Schwierigkeiten zu unterstützen.

    
Brad Larson 06.01.2011, 21:15
quelle
0

Sie können die Dateien eines Projekts auch einfach als Referenzen auf das andere Projekt hinzufügen. Ziehen Sie sie einfach aus dem Quellprojekt (in dem sich die tatsächlichen Dateien befinden) in das andere Projekt. Der Dialog fragt Sie, ob Sie die Dateien kopieren möchten. Wählen Sie Nein. Dadurch wird das zweite Projekt auf die Dateien im ersten Projekt verweisen. Bearbeitungen gehen in beide Projekte.

Seien Sie jedoch vorsichtig damit, denn es gibt einige Unterschiede zwischen den APIs in iOS und MacOS, auch wenn sie gleich genannt werden.

    
shezi 14.01.2012 14:57
quelle

Tags und Links