Aller au contenu

Créer un projet Swift qui ouvre un site web

Réglez l’URL, l’identité de l’app et la fenêtre : la page affiche la liste des fichiers et le code Swift avant le téléchargement. Le projet par défaut compte 5 fichiers pour 3 821 octets ; build.command le compile avec les Xcode Command Line Tools en une .app non signée. Une icône n’est acceptée que si ses octets sont réellement du PNG ou du JPEG, jusqu’à 10 Mo — sinon elle est refusée et le ZIP est écrit sans icône.

Fonctionne localement dans votre navigateur
Génération locale ·
ConfigurationSwift + WKWebView
Aperçu en directmacOS 12+
VoriTools Desktop
KWrapper natif WKWebViewhttps://voritools.com/
Contenu du projet
Construisez sur votre Mac

Non signé par conception

Privé et inspectable

Comment générer un projet d’app macOS

Remplissez le formulaire et l’aperçu suit : nom de l’app, URL du site, identifiant de bundle, version, taille de fenêtre, les deux options de fenêtre et une icône locale facultative. L’identifiant se remplit à partir du nom tant que vous ne le modifiez pas, et la liste des fichiers ainsi que le code Swift apparaissent à droite avant tout téléchargement. Ni compilateur ni serveur n’interviennent à ce stade.

Le résultat a été compilé pour de vrai pendant les tests : le projet par défaut compte 5 fichiers pour 3 821 octets et build.command l’a compilé avec les Xcode Command Line Tools en une .app fonctionnelle. Une icône PNG de 256 px a donné un AppIcon.icns de 269 370 octets, la même image en JPEG un de 1 837 743 octets. Un fichier texte renommé en .png, comme toute image de plus de 10 Mo, est refusé dans la ligne d’état — le ZIP est alors empaqueté sans icône au lieu d’en livrer une qui ferait échouer la compilation sur le Mac.

  1. Saisissez le nom de l’app et l’URL du site. Une URL sans schéma reçoit https:// devant, et l’aperçu affiche l’adresse que l’app chargera réellement.
  2. Réglez l’identifiant de bundle (domaine inversé, par exemple com.example.myapp) et la version. L’identifiant continue de suivre le nom tant que vous n’y touchez pas.
  3. Fixez la largeur et la hauteur de la fenêtre entre 480–2560 × 320–1600, et choisissez si la fenêtre est redimensionnable et si elle affiche une barre de titre.
  4. Choisissez une icône locale PNG ou JPEG si vous en voulez une ; la limite est de 10 Mo. Le fichier n’est lu que dans le navigateur et le script de compilation en fait AppIcon.icns.
  5. Cliquez sur Télécharger le projet macOS (.zip). Décompressez l’archive et double-cliquez sur build.command — ou lancez chmod +x build.command && ./build.command : la .app terminée apparaît dans le dossier build.

Les fichiers du ZIP, les règles de l’icône et ce qu’exige la compilation

Ce que contient le ZIP

Cinq fichiers forment le projet : Sources/main.swift (l’enveloppe AppKit + WKWebView qui ouvre votre URL), Info.plist (nom, identifiant de bundle, version, système minimum 12.0), build.command (le script de compilation), README.md et .gitignore. Une sixième entrée — icon.png ou icon.jpg — n’apparaît que si vous choisissez une icône. Le téléchargement s’appelle <nom>-macos-project.zip et l’archive par défaut mesurée fait 3 821 octets.

Rien d’autre dans l’archive : ni binaire compilé, ni signature, ni traçage. Info.plist est du XML simple et le fichier Swift est assez court pour être lu avant la compilation ; le bouton Copier la source copie exactement ce fichier.

Icône, fenêtre et petits caractères

Une icône n’est acceptée que si ses octets sont réellement du PNG ou du JPEG — la signature est vérifiée, pas le nom du fichier — et jusqu’à 10 Mo ; tout le reste est refusé avec un message et laisse le projet sans icône. À la compilation, sips génère 16, 32, 128, 256 et 512 px (et leurs @2x) dans un .iconset, puis iconutil les empaquette dans Resources/AppIcon.icns : mesuré : 269 370 octets depuis un PNG de 256 px et 1 837 743 octets depuis la même image en JPEG.

La largeur de fenêtre va de 480 à 2560 et la hauteur de 320 à 1600 (2560 × 1600 a été compilé pendant les tests). Décocher « Autoriser le redimensionnement » retire .resizable du masque de style ; décocher « Afficher la barre de titre » masque le titre et rend la barre transparente. Une URL http:// ajoute NSAllowsArbitraryLoadsInWebContent à Info.plist pour que la vue web puisse la charger.

Compiler, signer et confidentialité

La compilation se fait sur votre Mac et demande les Xcode Command Line Tools : le script appelle xcrun swiftc, macOS peut donc réclamer les outils une fois. Si votre décompresseur perd le bit d’exécution de build.command, lancez d’abord chmod +x build.command.

Le résultat est une .app non signée et non notarisée : Gatekeeper avertit au premier lancement, et la transmettre à d’autres personnes suppose de la signer et de la notariser avec votre propre identité Apple Developer. La page, elle, garde le travail en local — lors de la génération d’un projet pendant les tests, le navigateur n’a envoyé aucune requête, la seule entrée étant l’URL blob de l’aperçu de l’icône.

Outils récents :