[SWIFT] Créez un modèle pour le widget iOS14 avec la configuration d'intention.

Créez un modèle pour le widget ajouté dans iOS14 avec la configuration d'intention. (Ceux qui affichent le menu "Modifier le widget") Utilisez la génération automatique Xcode dans la mesure du possible. Puisqu'il s'agit d'un modèle, il n'a aucune fonction, mais j'espère que ce sera la base de la production de masse de widgets.

Créer une application

Je pense que la plupart des applications sont toujours faites avec UIKit, donc j'ai choisi ʻUIKit App Delegate`. Le nom est «LeaderCard» en supposant une demande de carte de crédit. : détendu: image.png

Créer une extension de widget

Appuyez sur «+» ici. image.png

Sélectionnez Extension de widget et appuyez sur «Suivant». image.png

ʻCheck Inclure l'intention de configuration. (← important ici!) Si vous ne le cochez pas, ce sera Configuration statique`. Le nom du widget est «LeaderCardWidget». image.png

Création d'un gestionnaire d'intention

Appuyez sur «+» ici. image.png

Sélectionnez Extension Intents et appuyez sur Suivant. image.png

Ne cochez pas «Inclure l'extension de l'interface utilisateur». (← important ici!) Sélectionnez "Aucun" pour "Point de départ". (← important ici!) Le nom du gestionnaire d'intention est «LeaderCardIntent». image.png

définition de la définition d'intention

Ouvrez le LeaderCardWidget.intentdefinision généré dans le dossier LeaderCardWidget. image.png Appuyez sur «+» en bas pour sélectionner «Nouveau type». image.png Définissez Card sur le nom du type. Vous n'êtes pas obligé de toucher au contenu de Card. image.png Parameters Réglez comme indiqué sur la figure ci-dessous. image.png

Parameter Le paramètre est défini sur «card» en minuscules. (← important ici!) image.png C'est parce qu'il s'agit du nom de propriété de la classe générée automatiquement ConfigurationIntent.

Display Name La chaîne de caractères spécifiée ici est affichée à l'emplacement indiqué dans la figure ci-dessous.

Type Sélectionnez «Carte».

Configurable Vérifier.

Dynamic Options Vérifier.

Prompt Label La chaîne de caractères spécifiée ici est affichée à l'emplacement indiqué dans la figure ci-dessous.

Target Membership Cochez «LeaderCardWidgetExtension» et «LeaderCardIntent». (← important ici!) image.png

Au moins coder le gestionnaire d'intention

Etat initial

IntentHandler.swift


class IntentHandler: INExtension {
    
    override func handler(for intent: INIntent) -> Any {
        // This is the default implementation.  If you want different objects to handle different intents,
        // you can override this and return the handler you want for that particular intent.
        
        return self
    }
    
}

Ajoutez le protocole ConfigurationIntentHandling. image.png Ensuite, il vous sera demandé si vous souhaitez ajouter protocole stub, alors appuyez sur Fix. image.png La méthode provideCardOptionsCollection est ajoutée. image.png

Écrivez completion (nil, nil) dans la partie code. (Comme il s'agit d'un modèle, rien ne fonctionne.)

IntentHandler.swift


class IntentHandler: INExtension {
    func provideCardOptionsCollection(for intent: ConfigurationIntent, with completion: @escaping (INObjectCollection<Card>?, Error?) -> Void) {
        completion(nil, nil)
    }
    
    override func handler(for intent: INIntent) -> Any {
        // This is the default implementation.  If you want different objects to handle different intents,
        // you can override this and return the handler you want for that particular intent.
        
        return self
    }
    
}

Achevée

Le modèle devrait maintenant être complet. Une fois exécuté, l'écran suivant s'affiche. Nous allons étoffer cela et le rapprocher du widget souhaité. image.png

GitHub Nous avons créé un référentiel de modèles ici, veuillez donc l'utiliser si vous le souhaitez. iOS14-Widget-IntentConfiguration-template

Environnement de développement

Recommended Posts

Créez un modèle pour le widget iOS14 avec la configuration d'intention.
Créez un terrain de jeu avec Xcode 12
Tutoriel pour créer un blog avec Rails pour les débutants Partie 1
Tutoriel pour créer un blog avec Rails pour les débutants Partie 2
Tutoriel pour créer un blog avec Rails pour les débutants Partie 0
Un outil pour générer des images Retina pour iOS à utiliser avec Xcode
Créer une JVM pour la distribution d'applications avec les modules JDK 9 et jlink
Créez des exceptions avec une interface fluide
Créer un serveur fluentd pour les tests
[Ruby on Rails] Créez un graphique circulaire des totaux par colonne avec Chartkick
Créer un environnement de développement d'applications Web Java avec Docker pour Mac Part2
Remarques sur l'utilisation de BLE dans les applications iOS
Créez un fichier jar avec la commande
Créez une application Web simple avec Dropwizard
Créez un lot à la demande simple avec Spring Batch
[Retrait des rails] Créez une fonction de retrait simple avec des rails
Comment créer un référentiel Maven pour 2020
Créer un graphique à barres simple avec MPAndroidChart
Créez une classe temporaire avec le nouvel Object () {}
[rails] Comment créer un modèle partiel
[Rails 5] Créer une nouvelle application avec Rails [Débutant]
Comment créer un formulaire Excel à l'aide d'un fichier modèle avec Spring MVC
Créez un site Web avec Spring Boot + Gradle (jdk1.8.x)
Comment créer une base de données H2 n'importe où
[Memo] Créez facilement un environnement CentOS 8 avec Docker
Créez une application de recherche simple avec Spring Boot
Créer un CSR avec des informations étendues en Java
Créez un tableau d'affichage simple avec Java + MySQL
[Rails] rails nouveau pour créer une base de données avec PostgreSQL
Créons un processus chronométré avec la minuterie de Java! !!
Notes pour ceux qui vivent avec JMockit
Comment créer des pages pour le tableau "kaminari"
[Java] Créer une collection avec un seul élément
[Java] Créons un Minecraft Mod 1.14.4 [Introduction]
Créez une discussion d'équipe avec Rails Action Cable
[Java] Créons un Minecraft Mod 1.16.1 [Introduction]
Créer un compte SandBox avec IP Fastlane Spaces
Créer un outil pour l'identification des noms dans Salesforce
Créer une carte multi-touches avec une bibliothèque standard
[Java] Créons un Minecraft Mod 1.14.4 [99. Mod output]
Créer un serveur API Web avec Spring Boot
Créer un environnement Docker pour Oracle 11g XE
Créer un environnement de développement Spring Boot avec docker
[Azure] J'ai essayé de créer une application Java gratuitement ~ Se connecter avec FTP ~ [Débutant]