2012-03-27 11 views
0

Entwickeln Sie eine iPhone-App, die zwei verschiedene Funktionen hat und dieselben Bilder und Zeichenketten in einigen Bereichen des Projekts verwendet. Hier verwende ich Preprozessor-Makros, die es während der Kompilierungszeit unterscheiden, zum Beispiel Projekt eins und Projekt zwei.iPhone Generisches Bundle für Anwendungsressourcen

Hier meine Frage ist, gibt es eine Möglichkeit, die Bilder und Zeichenfolge in generischer Weise zu übergeben. Ich meine, wenn ich die Anwendung für das Projekt ausfühle, bedeutet das, dass es nur die Bilder und die Zeichenkette der relevanten App nehmen sollte, es sollte nicht mit einem anderen Projekt gebündelt werden, d. H. Die Quelle von zwei projizieren.

Jede Idee und Vorschlag wird sehr geschätzt.

Antwort

1

Werfen Sie einen Blick auf den Screenshot eines Projekts, das zwei Ziele hat:

enter image description here

Und Ordnerstruktur: kann

enter image description here

Sie gemeinsame Elemente in der Shared Ordner abgelegt und füge sie zu beiden Zielen wie SharedImage.png in dem Beispiel hinzu. Bei Assets mit zwei verschiedenen Versionen können Sie jede Version in den entsprechenden Ordner (Target A oder Target B) setzen und für beide Versionen denselben Namen verwenden. Wenn zum Beispiel das Bild MyImage.png zu Target A Hinzufügen, geben Sie einfach die Box Target A wie im folgenden Screenshot überprüfen:

enter image description here

Jetzt ist es einfach, die richtige Asset für jedes Ziel zu verwenden und ohne die Verwendung von Präprozessor-Makros. Beispielsweise wird der folgende Code die richtige Version von MyImage.png verwenden, ob es in Target A oder Target B

UIImage *image = [UIImage imageNamed:@"MyImage.png"]; 
+0

Hey Sch vielen Dank für Ihre Antwort und habe eine andere Frage läuft wie ist es eine Möglichkeit, die Saiten und Codes zu trennen im Projekt basierend auf Ziel ähnlich wie Bilder ...? – nik

+0

und kann ich auch die statische Bibliothek für Bilder und Strings für zwei verschiedene Projekte verwenden? – nik

+1

1) Sie können die gleiche Methode verwenden, um Ihren Code und andere Ressourcen zu organisieren. 2) Leider können Sie keine Ressourcen in einer statischen Bibliothek packen, aber es gibt viele Tutorials, wie Sie ein [universelles Framework] (https://github.com/jverkoey/iOS-Framework) erstellen können, wo Sie das tun können. – sch