Sie können diese Version des Programms nicht mit dieser Version von OS X verwenden

ralfsy

ralfsy

Aktives Mitglied
Thread Starter
Dabei seit
22.04.2006
Beiträge
254
Reaktionspunkte
11
Hi,

ich will ein Programm unter Yosemite verwenden, das eigentlich El Capitan voraussetzt. Ein Starten über Doppelklick auf das Programm geht nicht … dann kommt die Fehlermeldung aus der Überschrift.

Ich kann das Programm starten, indem ich in das Bundle gehe und es dort von der Kommandozeile aus aufrufe. Hab mit otool kurz nachgesehen, ob es Probleme mit Libraries geben könnte … ist allem Anschein nach nicht der Fall.

Woran erkennt OS X eigentlich, dass das Programm eine neuere Version voraussetzt. In Info.plist hab ich LSMinimumSystemVersion auf 10.9 abgeändert, aber das hat nichts gebracht. War in der älteren Version des Programms so eingetragen.

Was muss ich ändern, damit ich es ganz normal per Doppelklick starten kann?
 
Auf El Capitan updaten. ;)

Ansonsten mal in allen Verzeichnissen nachgucken, vor allem in den ganzen Libraries. Aber der Hersteller wird sich schon was dabei gedacht haben bei den Systemvoraussetzungen. Garantie dafür das es fehlerfrei laufen wird hast du nicht. Anspruch auf Support auch nicht, wenn du es nicht innerhalb der "Spezifikation" verwendest
 
Ein OS-Update ist leider nicht möglich. Muss noch eine Zeit lang bei Yosemite bleiben. War schon ein extremer Krampf, als ich auf die Version gegangen bin, weil zig Sachen danach nicht mehr funktioniert hatten oder schlechter als vorher liefen.

Garantie, dass es funktioniert, brauche ich nicht. Ich arbeite schon eine Zeit lang mit dem "Trick" und hatte bisher keine Probleme. Wollte nur mal herausfinden, wie ich mir das Gehampel über die Kommandozeile sparen kann.

Die Library Dependencies sehen gut aus.

Gerade mal die Ausgabe von otool etwas genauer angesehen:
--
Load command 9
cmd LC_VERSION_MIN_MACOSX
cmdsize 16
version 10.11
sdk 10.11
--

Das dürfte es sein. Mal sehen, ob ich das mit einem Hexeditor "reparieren" kann.
 
  • Gefällt mir
Reaktionen: clusterix
Eventuell geht es mit einem kleinen Hack. Schau mal in die Package Contents, evtl. gibt es da im Contents Ordner sowas wie eine Distribution.dist

Dort dann mal entsprechende Zeilen für den Prüfmechanismus entfernen.
 
Oder ein Shellscript schreiben, das das Binärprogramm aufruft, und das Skript als ausführbar deklarieren. Dann reicht der Doppelklick darauf.
 
das programm wird halt gegen die entsprechenden frameworks gelinkt.
programmiertechnisch könnte man sogar weak linking machen, so dass wenn bestimmt funktionen von neuere OS X version nur aufgerufen werden, wenn die auch verfügbar sind.
aber macht wohl keiner.

im großen und ganzen liegt es einfach an apple, die mit jedem neuen OS X und Xcode release den support für die älteren SDKs einstellen und die entwickler einfach nur auf kompilieren drücken …
 
  • Gefällt mir
Reaktionen: dg2rbf
Schau mal in die Package Contents, evtl. gibt es da im Contents Ordner sowas wie eine Distribution.dist

Dort dann mal entsprechende Zeilen für den Prüfmechanismus entfernen.

Danke für den Tip. Wird Distribuiton.dist nicht nur bei Installern verwendet?

https://developer.apple.com/library...utionDefinitionRef/Chapters/Introduction.html

Ida Pro hat im im Disassembly nix gefunden. Bei "meinem" Programm wird scheinbar nur das Load Command LC_VERSION_MIN_MACOSX aufgerufen.

Oder ein Shellscript schreiben, das das Binärprogramm aufruft, und das Skript als ausführbar deklarieren. Dann reicht der Doppelklick darauf.

Wäre einfach, schnell und effizient ... macht aber weniger Spass, als ein paar Bytes zu "verbessern". Ich finde es auch störend, dass das Programmsymbol mit einem "Halteverbotszeichen" verunziert ist.

Wenn schon Unsinn machen, dann wenigstens auch in "in Schön". Dann kann es auch ins Dock.

im großen und ganzen liegt es einfach an apple, die mit jedem neuen OS X und Xcode release den support für die älteren SDKs einstellen und die entwickler einfach nur auf kompilieren drücken …

Ich gehe davon aus, dass das hier zutrifft. Der Entwickler ist wohl mit der aktuellen Xcode-Version unterwegs und verwendet die Defaults.

Na ja ... sollte ich auch so langsam mal machen. Immer noch auf Version 6.4 ist nicht mehr so angebracht. Bekomme immer noch alle Macports compiliert und ... na ja ... never change a running system.
 
Zurück
Oben Unten