2009-08-13 5 views
2

Ist es möglich, zwei ausführbare Dateien mit jeweils eigenen plist zu haben, um das gleiche Bündel zu teilen. Dies hängt davon ab, wie App ausgeführt wird (Parameter), um die entsprechende ausführbare Datei zu laden.Zwei ausführbare Dateien in einem Bündel auf MAC

Stellen Sie sich den Fall vor, wo wir eine Hauptanwendung (ausführbar mit UI) und die Mini-Anwendung (kürzere Version der Haupt-App auch mit eigener Benutzeroberfläche) haben und dann abhängig von den Parametern, die Benutzer zum Starten der Anwendung verwenden ausführbar im selben Bundle.

Prost

Antwort

0

Ich glaube, ich verstehe dich. Sie möchten ein Plist zwischen zwei ausführbaren Dateien teilen. Beziehe dich einfach auf die gleiche Pliste in jedem Fall: tutorial for single executable plist.

+0

Ich denke nicht. Was das OP will, ist, zwei unabhängige ausführbare Dateien zu haben, um in demselben .app-Ordner mit zwei unabhängigen plist-Informationen zu leben. –

+0

Ich möchte nicht ein Plist für zwei ausführbare Dateien teilen. Was ich will, ist, eine App mit ihren eigenen Plist und Ressourcen in das gleiche Paket mit einer anderen App einzubetten und dann entsprechend den bereitgestellten Parametern eine geeignete Anwendung zu starten, die ihre eigenen Plisten verwenden wird. Cheers Dejan –

0

Ich weiß nicht, ob es möglich ist. Ehrlich gesagt bezweifle ich es, weil die Plistinformation auch benutzt wird, um das Icon usw. zu definieren, also würden Sie den Finder verwirren, wenn das möglich wäre (welches Symbol sollte es anzeigen?). Ich bin jedoch überhaupt kein Experte für Bundles.

Ich gebe Ihnen einen Workaround. Erstellen Sie ein Demultiplex-Skript, das die richtige ausführbare Datei gemäß Ihren Parametern ausführt, und verknüpfen Sie das Skript anschließend mit der Plistinformation.

2

Nicht genau, aber Sie könnten etwas Ähnliches erreichen.

Sie könnten ein Master-Anwendungs-Bundle haben, das herausfindet, welche Version des Codes ausgeführt werden soll, und dann mehrere Plug-In-Bundles (als Ressourcen der Anwendung) haben, die die verschiedenen Versionen tatsächlich implementieren. Jedes Plug-in-Bundle hätte seine eigenen Info.plist/nib-Dateien/usw.

Weitere Informationen zum Laden von Bundles und zum Ausführen ihres Codes finden Sie unter documentation for NSBundle.

+0

Das ist die "Mac Way", es zu tun, und meine App funktioniert so. NSBundle-APIs bieten die Möglichkeit, das jeweils benötigte Code-Paket entweder nach Name, nach Paket-ID oder nach Pfad zu laden. Meine einzige Bemerkung ist, dass Sub-Bundles nicht in das Resources-Verzeichnis, sondern in das Plugins-Verzeichnis gehen - dafür gibt es einen speziellen Platz innerhalb des Pakets der "Hauptanwendung". Insbesondere in Xcode, in Ihrem Build-Schritt "Dateien kopieren", der Ihre Plugin-Code-Bundles in das Hauptpaket kopiert, wählen Sie "Plugins" als das Verzeichnis, in das kopiert werden soll. –

Verwandte Themen