32-Bit-Apps: Apple schaltet Warnung in macOS 10.13.4 scharf
Auf der Worldwide Developers Conference 2017 kündigte Apple zum allerersten Mal an, dass die Tage von 32-Bit-Programmen auf dem Mac gezählt sind. Bisher konnte macOS 32-Bit-Apps und 64-Bit-Apps parallel ohne Einschränkungen ausführen. Auf iOS ging Apple bereits mit iOS 11 diesen Schritt - dort sind nur noch Apps benutzbar, die als 64-Bit-Version vorliegen.
Vor 11 Jahren stellte Apple mit OS X 10.5 Leopard vollständige Unterstützung für 64-Bit-Programme mit Benutzeroberfläche vor - in 10.4 Tiger war es nur möglich, Programme ohne Benutzeroberfläche im 64-Bit-Modus auszuführen, da die entsprechenden Programmierbibliotheken für die Darstellung der Programmoberflächen noch nicht portiert wurden. Seit dieser Zeit ist es möglich, sowohl 32-Bit-Apps wie auch 64-Bit-Apps parallel zu nutzen. Apple portierte allerdings nicht alle Programmierbibliotheken auf 64 Bit: Das Framework "Carbon", welches in großen Teilen die alte System-Toolbox aus Mac OS 8 und Mac OS 9 unter OS X nachbildet, wurde nie als 64-Bit-Version veröffentlicht. Programme, die noch auf Carbon basieren, müssen auf Cocoa umgestellt werden - ein nicht unerheblicher Aufwand für die Entwickler.
Die aktuelle macOS-High-Sierra-Version 10.13.4 warnt seit dieser Nacht alle Nutzer, wenn eine 32-Bit-Programm gestartet wird, dass dieses in zukünftigen macOS-Versionen nicht mehr lauffähig ist. Apple verweist in dieser Meldung auf ein
Support-Dokument (derzeit nur in Englisch verfügbar), in dem Apple die Gründe erläutert. Apple kündigte auf der WWDC 2017 an, dass High Sierra die letzte macOS-Version ist, die 32-Bit-Apps ohne Kompromisse ausführt - macOS 10.14 führt demnach wohl nicht mehr alle 32-Bit-Programme aus oder startet diese in einer Art Kompatibilitätsmodus, womöglich mit Geschwindigkeitseinbußen. Mit
macOS 10.15, welches Apple seit Kurzem intern testet, könnte wohl endgültig Schluss mit 32-Bit-Apps sein.
Installierte 32-Bit-Programme findenApple bietet über das Systemprofil eine einfache Möglichkeit an, alle installierten 32-Bit-Programme zu finden. Hierzu klickt man im Apfel-Menu auf den Punkt "Über diesen Mac…". Im dann erscheinenden Fenster führt der Knopf "Systembericht…" zu vielfältigen Informationen zur Hardware und Software des Macs. Der Punkt "Programme" unter "Software" listet alle Apps auf, die auf dem Mac installiert wurden - die Spalte "64-Bit" gibt an, ob ein Programm als 64-Bit-Variante vorliegt:
Schon jetzt 32-Bit-Programme deaktivierenMit einem einfachen Terminal-Befehl lässt sich schon jetzt das Starten von 32-Bit-Programmen unterbinden. Dazu gibt man folgende Zeile in das Programm "Terminal.app" ein:
sudo nvram boot-args="-no32exec"
Nach dem Drücken der Return-Taste wird man zur Eingabe des Nutzerpasswortes aufgefordert. Um diese Einstellung wieder rückgängig zu machen, gibt man folgende Zeile ins Terminal ein:
sudo nvram boot-args=""
Gründe für die UmstellungEs ist etwas verwunderlich, dass Apple bereits seit 11 Jahren 32-Bit- wie auch 64-Bit-Apps auf macOS unterstützt und gerade jetzt Entwickler dazu zwingt, Apps anzupassen. Möglich ist, dass Apple einfach den Unterbau mit den kommenden größeren macOS-Updates entschlacken will und deshalb die Unterstützung für 32-Bit-Programme entfernt.
Eine andere Theorie ist, dass Apple hierdurch indirekt die Umstellung auf ARM-Prozessoren vorbereitet (vor etwas über einer Woche kam ein entsprechender, glaubwürdiger Bericht auf:
). Einige Frameworks, wie zum Beispiel das Carbon-Framework, wurden nie auf Intels 64-Bit-Architektur portiert. Programme, die derzeitig noch auf Carbon zurückgreifen, müssen aufwändig umgeschrieben oder gar neu entwickelt werden - Apple gibt so betroffenen Entwicklern schon jetzt frühzeitig das Kommando, ihre Programme auf Cocoa und 64-Bit umzustellen. Cocoa-Apps, die bereits auf Intels 64-Bit-Befehlssatz laufen, sollten mit keinen oder nur sehr leichten Modifikationen auch auf ARM-basierten Macs laufen.
Sollte Apple tatsächlich Macs mit Apple-eigenem ARM-Chip vorstellen, werden diese über eine Art von Software-Emulation verfügen, um bestehende Intel-Apps weiterhin ausführen zu können. Möglicherweise wird diese Emulationssoftware nur 64-Bit-Programme unterstützten, da diese einfacher auf Apples 64-Bit-ARM-Chips zu emulierten wären.