Kurze Frage: Wie nehmen Sie zwei Anwendungen, eine für Intel und die andere ppc, und packen sie in einem Universal Binary?Erstelle ein "Universal Binary" aus zwei Apps?
Meine aktuellen Gedanken zu diesem Problem:
ich obwohl der Apple Developer-Dokumentation auf Universal Binaries gelesen haben und nicht in der Lage gewesen, eine Antwort zu finden, so dass es nicht möglich sein kann.
Aus Gründen, auf die ich hier nicht eingehen werde, habe ich zwei Apps meines Programms (etwa mit xtools, um die Binärdatei einmal universell zu kompilieren), eine für Intel Macs und die andere für Mac> = 10.3.9 läuft PPK. Ressourcen zu teilen ist kein Problem.
Ich könnte sowohl MyProg_intel.app als auch MyProg_ppc.app in eine Zip-Datei schreiben und auf diese Weise verteilen; aber das kann für viele Leute, die ich mein Programm verteilen werde, Verwirrung stiften.
lipo sieht so aus, als könnte es meine lösung sein, aber die eingabedatei erwartet eine binäre oder eine andere art von datei - nicht eine .app (wenn ich es versuche, sagt _Keine eingabedatei ((os/kern) ungültiges argument) _). Mein Programm ist mit Python erstellt und meine Packaging-Methode kompiliert nicht alles in eine Binärdatei, es gibt eine große Anzahl von Abhängigkeiten. – marshallpenguin
Sie verwenden lipo, um nur die Binärdateien zusammenzuführen: lipo myapp_ppc.app/Contents/MacOS/myapp-output myapp_i386.app/Contents/MacOS/myapp fügt die PPC-Seite in die Intel App ein, die Sie dann als Universal-App umbenennen können. Aber die anderen Plakate sind richtiger. Sie sollten die App an erster Stelle nach dem Erstellen und Verknüpfen jeder Architektur erstellen, anstatt zweimal die .app-Datei zu erstellen und sie wegzuwerfen. – cdespinosa
py2app erzeugt bereits eine universelle Binärdatei. Warum bauen Sie Ihre Abhängigkeiten nicht mit "-arch i386 -arch ppc" in CFLAGS, CXXFLAGS und LDFLAGS auf? –