Dev Blog

Swift · Bash · Python

 

App-Voreinstellungen: Handreichungen zu Struktur und View-Hierarchie

Jede größere App benötigt einen Einstellungen-Dialog (»Preferences«). Der InterfaceBuilder bietet hierzu den NSTabViewController, der verschiedene Seiten per TabView umschaltbar anzeigt. Für umfangreiche Einstellungen wünscht man sich jedoch etwas mehr Flexibilität. Die hier präsentierte Lösung zeigt einen grafisch völlig anderen, sehr flexiblen Ansatz.

Swift: Prüfen, ob eine Datei ein Alias ist

Die URL-Methode resourceValues(forKeys:) lässt sich dazu verwenden, um herauszufinden, ob es sich bei der angegebenen URL um ein Alias (d. h., keinen Symlink) handelt. Der nachfolgende Code erweitert die URL-Klasse um die Methode isAlias, die einen optionalen Booleschen Wert zurückliefert.

Swift: Privileged Helper

Unter macOS läuft eine Applikation, genau wie ein im Terminal aufgerufenes Kommando, stets im Kontext des ausführenden Benutzers. Während im Terminal ein Kommando durch vorangestelltes sudo mit root-Berechtigungen ausgeführt werden kann, fehlt dem Swift-Entwickler ein äquivalenter Mechanismus. Und zwar aus gutem Grund, handelt es sich dabei doch um ein potenzielles Sicherheitsrisiko.