J'ai une application HTML5 développée en XCode dans l'App Store IOS et je souhaite créer une copie de cette application pour le Mac App Store. Je pensais que ce serait facile mais je ne trouve pas de tutoriels faciles à suivre, certainement pas en utilisant XCode 11 et Swift 5.1. Je ne veux pas suivre la route automatisée fournie dans Mac OS 10.15

Lorsque j'ai créé l'application Hello World par défaut fournie avec XCode 11, elle ne fonctionnera pas sur 10.14 ! Je ne veux pas encore passer à la version 10.15, principalement parce que je veux que l'application fonctionne sur les versions antérieures de MacOS

Quiconque peut me fournir une référence à un exemple fonctionnel d'une application WKWebView chargeant des fichiers locaux qui s'exécute dans XCode 11 sur Max OS 10.14 sera mon héros.

0
Steve Brooker 5 févr. 2020 à 21:56

2 réponses

Meilleure réponse

Étape 1 - Installez XCode 11 et ouvrez-le.

Étape 2 - Sélectionnez "Fichier" et "Nouveau" et "Projet" dans le menu principal.

Étape 3 - Sélectionnez "App" (en haut à gauche) et sélectionnez "Suivant" (en bas à droite).

Étape 4 - Donnez un nom à votre application, pour Interface utilisateur, sélectionnez "Storyboard", puis sélectionnez "Suivant".

Étape 5 - Sélectionnez un dossier où stocker votre nouvelle application sur votre ordinateur et sélectionnez "Créer".

Étape 6 - Dans XCode Navigator (volet de gauche), sélectionnez "Ajouter des fichiers" dans le menu contextuel.

Étape 7 - Sélectionnez le dossier contenant vos fichiers html/javascript/css/image - dans cet exemple, je suppose que le dossier portera le nom "www" mais cela peut être n'importe quoi - n'oubliez pas de changer "www" dans le code ci-dessous pour ce que tu veux.

Étape 8 - Sélectionnez "Créer des références de dossier pour tous les dossiers ajoutés" et sélectionnez "Ajouter"

Étape 9 - Sélectionnez "ViewController.swift" dans le volet Navigateur et remplacez le tout par le code ci-dessous, en remplaçant "www" par le nom du dossier contenant votre code html, etc. et en remplaçant "AppName" par le nom de votre fichier html.

Étape 10 - Appuyez sur "Exécuter" et utilisez votre nouvelle application.

Pour savoir comment le publier et ajouter d'autres fonctionnalités (comme les achats d'applications), reportez-vous à Apple Developer et à d'autres ressources Internet/questions de débordement de pile.

import Cocoa
import WebKit

class ViewController: NSViewController, WKUIDelegate
    {
    var webView: WKWebView!

    override func loadView()
        {
        let webConfiguration = WKWebViewConfiguration ();
        webConfiguration.preferences.setValue(true, forKey: "allowFileAccessFromFileURLs");
        webView = WKWebView (frame: CGRect(x:0, y:0, width:800, height:600), configuration:webConfiguration);
        webView.uiDelegate = self ;
        view = webView;
        }

    override func viewDidLoad() {
    super.viewDidLoad()

    if let url = Bundle.main.url ( forResource: "AppName"
                                 , withExtension: "html"
                                 , subdirectory: "www")
        {
        let path = url.deletingLastPathComponent();
        self.webView.loadFileURL ( url
                                 , allowingReadAccessTo: path);
        self.view = webView ;
        }
    }
}
1
Steve Brooker 7 févr. 2020 à 20:20

À l'aide de Xcode 12 et de Big Sur, je devais accéder aux propriétés du projet, sélectionner l'onglet Signature et capacités et vérifier Connexions sortantes (client) sous le App Sandbox pour obtenir l'excellente réponse de Steve Brooker au travail.

0
droidix 23 nov. 2020 à 01:25