Zum Inhalt springen

Ein Swift-Web-Wrapper-Projekt für macOS erstellen

Legen Sie Website-URL, App-Identität und Fensteroptionen fest; die Seite zeigt Dateiliste und Swift-Quellcode vor dem Download. Das Standardprojekt umfasst 5 Dateien mit 3.821 Bytes, build.command kompiliert sie mit den Xcode Command Line Tools zu einer unsignierten .app. Ein Symbol wird nur angenommen, wenn seine Bytes wirklich PNG oder JPEG sind, bis 10 MB — sonst wird es abgelehnt und das ZIP ohne Symbol geschrieben.

Läuft lokal in deinem Browser
Lokale Erzeugung ·
KonfigurationSwift + WKWebView
Live-VorschaumacOS 12+
VoriTools Desktop
KNative WKWebView wrapperhttps://voritools.com/
Projektinhalt
Auf dem Mac bauen

Bewusst unsigniert

Privat und prüfbar

So erzeugen Sie ein macOS-App-Projekt

Formular ausfüllen, die Vorschau folgt: App-Name, Website-URL, Bundle-Identifier, Version, Fenstergröße, die beiden Fensterschalter und ein optionales lokales Symbol. Der Identifier wird aus dem App-Namen gefüllt, solange Sie ihn nicht selbst bearbeiten; Dateiliste und Swift-Quellcode erscheinen rechts, bevor irgendetwas heruntergeladen wird. Compiler und Server sind hier noch nicht beteiligt.

Das Ergebnis wurde beim Testen wirklich gebaut: Das Standardprojekt sind 5 Dateien mit 3.821 Bytes, und build.command kompilierte sie mit den Xcode Command Line Tools zu einer lauffähigen .app. Ein PNG-Symbol mit 256 px ergab eine AppIcon.icns mit 269.370 Bytes, dasselbe Bild als JPEG eine mit 1.837.743 Bytes. Eine in .png umbenannte Textdatei und jedes Bild über 10 MB werden in der Statuszeile abgelehnt — das ZIP wird dann ohne Symbol gepackt, statt eines mitzugeben, an dem der Mac-Build scheitern würde.

  1. App-Namen und Website-URL eintragen. Eine URL ohne Schema bekommt https:// vorangestellt, und die Vorschau zeigt die Adresse, die die App wirklich lädt.
  2. Bundle-Identifier (umgekehrte Domain, z. B. com.example.myapp) und Version anpassen. Der Identifier folgt dem App-Namen, solange Sie ihn nicht selbst ändern.
  3. Fensterbreite und -höhe zwischen 480–2560 × 320–1600 festlegen und wählen, ob das Fenster skalierbar ist und eine Titelleiste zeigt.
  4. Bei Bedarf ein lokales PNG- oder JPEG-Symbol wählen; die Obergrenze liegt bei 10 MB. Die Datei wird nur im Browser gelesen, das Build-Skript macht daraus AppIcon.icns.
  5. macOS-Projekt herunterladen (.zip) drücken. ZIP entpacken und build.command doppelklicken — oder chmod +x build.command && ./build.command ausführen; die fertige .app liegt danach im Ordner build.

Die Dateien im ZIP, die Symbolregeln und was der Build braucht

Was im ZIP steckt

Fünf Dateien bilden das Projekt: Sources/main.swift (der AppKit-+-WKWebView-Wrapper, der Ihre URL öffnet), Info.plist (Name, Bundle-Identifier, Version, Mindestsystem 12.0), build.command (das Build-Skript), README.md und .gitignore. Ein sechster Eintrag — icon.png oder icon.jpg — erscheint nur, wenn Sie ein Symbol wählen. Der Download heißt <App-Name>-macos-project.zip; das gemessene Standardarchiv ist 3.821 Bytes groß.

Mehr ist nicht im Archiv: kein kompiliertes Programm, keine Signatur, kein Tracking. Info.plist ist reines XML und die Swift-Datei ist kurz genug, um sie vor dem Build zu lesen; die Schaltfläche Quelltext kopieren kopiert genau diese Datei.

Symbol, Fenster und Kleingedrucktes

Ein Symbol wird nur angenommen, wenn seine Bytes wirklich PNG oder JPEG sind — geprüft wird die Signatur, nicht der Dateiname — und nur bis 10 MB; alles andere wird mit einer Meldung abgelehnt und lässt das Projekt ohne Symbol. Beim Build rendert sips 16, 32, 128, 256 und 512 px (samt @2x) in ein .iconset, iconutil packt sie zu Resources/AppIcon.icns — gemessen: 269.370 Bytes aus einem 256-px-PNG, 1.837.743 Bytes aus demselben Bild als JPEG.

Die Fensterbreite liegt zwischen 480 und 2560, die Höhe zwischen 320 und 1600 (2560 × 1600 wurde im Test gebaut). Ohne „Fenstergröße änderbar“ fällt .resizable aus der Style-Maske; ohne „Titelleiste anzeigen“ wird der Titel ausgeblendet und die Leiste transparent. Eine reine http://-URL ergänzt NSAllowsArbitraryLoadsInWebContent in der Info.plist, damit der Web-View sie laden darf.

Bauen, signieren und Datenschutz

Gebaut wird auf Ihrem Mac und dafür werden die Xcode Command Line Tools gebraucht: Das Skript ruft xcrun swiftc auf, macOS fragt die Werkzeuge also einmalig ab. Verliert Ihr Entpacker das Ausführungsbit von build.command, führen Sie vorher chmod +x build.command aus.

Das Ergebnis ist eine unsignierte, nicht notarisierte .app: Gatekeeper warnt beim ersten Start, und für andere Personen müssen Sie sie mit Ihrer eigenen Apple-Developer-Identität signieren und notarisieren. Die Seite selbst arbeitet lokal — beim Erzeugen eines Projekts im Test schickte der Browser keine einzige Anfrage, einziger Eintrag war die Blob-URL der Symbolvorschau.

Zuletzt verwendet: