Eine virtualisierte Entwicklungs-Umgebung fr Apple MacOS & iOS

Üblicherweise ist es erforderlich für die App-Entwicklung für jegliche Apple Geräte eine MacOS und XCode Entwicklungs-Umgebung auf dem verwendeten Apple Rechner zu installieren. Jedoch können gerade in Entwicklungs-Teams mit mehreren Entwicklern und bei der Verwendung zusätzlicher Software-Frameworks und Komponenten oft vermehrt „Works-On-My-Machine“ Probleme auftreten.

 

Um solche Probleme zu umgehen bietet sich die Lösung einer Virtualisierten Entwicklungs-Umgebung an, die die benötigten Tools und Frameworks schon vorab mit sich bringt und auch jederzeit ohne viel Aufwand in den Ursprungszustand zurückgesetzt werden kann.

Für die Entwicklung von Apple Software gibt es zum Beispiel ein vorkonfiguriertes MacOS & XCode Vagrant Image das mit nur wenigen Handgriffen auf jedem Rechner einheitlich installiert werden kann.

Achtung: zur Verwendung dieses Image sind jedenfalls die entsprechenden Apple Software Lizenzbedingungen zu beachten!

 

Um gewisse Einstellungen für jegliche Installationen des VM Image reproduzierbar bereitzustellen, bietet es sich an diese Einstellungen in einem entsprechenden Vagrantfile vorzubereiten. Ein einfaches Beispiel für ein solches Vagrantfile kann zum Beispiel so aussehen:

 

Vagrant.configure(2) do |config|
     config.vm.box = "http://files.dryga.com/boxes/osx-sierra-0.3.1.box"
    config.vm.hostname = "macos.x64"
       config.vm.provider "virtualbox" do |v|
        v.name = "macos.x64"
        v.memory = 2048
        v.cpus = 4
         v.gui = true
         # Set resolution on macOS
        # Values: 0 = 640x480, 1 = 800x600, 2 = 1024x768, 3 = 1280x1024, 4 = 1440x900, 5 = 1920x1200
        v.customize ["setextradata", :id, "VBoxInternal2/EfiGopMode", "5"]
        v.customize ["setextradata", :id, "CustomVideoMode1", "1920x1080x32"]
        v.customize ["setextradata", :id, "GUI/CustomVideoMode1", "1920x1080x32"]
    end   
    # sync host folder "./src" to MacOS desktop folder "src"
    config.vm.synced_folder "./src", "/Users/vagrant/Desktop/src", type: "smb", create: true
end

 

In dieser Konfiguration wird zum Beispiel ein eigener Rechner-Name für die VirtualBox Maschine und auch der Netzwerk-Name für die virtuellen MacOS Installation vergeben. Die Anzahl der zu verwendenden Host-Ressourcen werden ebenso festgelegt, wie auch die Monitor-Auflösung die von MacOS verwendet werden soll. Diese Einstellung kann sich als besonders wichtig herausstellen, da andernfalls eine niedrige Standardauflösung von 1024x768 aktiviert sein kann, die gerade für das Testen von entwickelten Apps unter der virtuellen Umgebung problematisch sein kann.

Zuletzt wird auch noch ein lokales Verzeichnis des Host-Computers mit einem Verzeichnis innerhalb der virtualisierten MacOS Umgebung bereitgestellt. Dies erlaubt es die Dateien während der Entwicklung sowohl in der virtuellen Umgebung zu ändern und zu lesen, aber auch in der Host-Umgebung.

 

Hinweis: für das Konfigurations-Beispiel von oben wurde der Freigabe-Typ des geteilten Verzeichnisses auf „smb“ festgelegt. Dies kann erforderlich sein, wenn die Host-Umgebung nicht direkt an das Dateisystem des virtualisierten MacOS angebunden werden kann. Dadurch wird die Freigabe des Verzeichnisses über das Standard Windows Dateifreigabe Protokoll hergestellt, und sollte damit auf den meisten Betriebssystemen verfügbar sein.

Weiters ist es bei der Verwendung des „smb“ Freigabe-Typs notwendig die virtuelle Vagrant-Maschine aus einer Befehlszeile mit Administrator-Rechten zu starten und das Benutzer-Login (Name & Passwort) eines zur Dateifreigabe berechtigten Benutzers anzugeben.

 

Weitere Einstellungen in MacOS für die bessere Bedienung:

Das Tastatur-Layout in MacOS lässt sich über „System Preferences > Keyboard > Input Sources“ auf ein deutsches Tastaturlayout umstellen. Um das Tastaturlayout zu aktivieren, löscht man das zuvor aktive US Layout oder wechselt manuell zwischen den Tastaturlayouts über das Flaggen-Symbol in der oberen MacOS Menüleiste.

Um die Standard Scroll-Richtung in MacOS zu invertieren, muss die Checkbox „Scroll direction: natural“ unter „System Preferences > Mouse“ deaktiviert werden.

 

Nachdem die virtualisierte MacOS Umgebung installiert und gestartet wurde, lässt sich zum Beispiel XCode von den MacOS Applikationen aus starten, und dann mittels MacOS Menüleiste „XCode > Open Developer Tool > Simulator“ der native iPhone/iPad/iWatch Emulator starten.

 Wolfgang Steiner
Erstellt: 2017-05-08
von: Wolfgang Steiner