[SWIFT] Erstellen Sie eine Vorlage für das iOS14-Widget mit Absichtskonfiguration.

Erstellen Sie eine Vorlage für das in iOS14 hinzugefügte Widget mit Absichtskonfiguration. (Diejenigen, die das Menü "Widget bearbeiten" anzeigen) Verwenden Sie nach Möglichkeit die automatische Xcode-Generierung. Da es sich um eine Vorlage handelt, hat sie keine Funktion, aber ich hoffe, dass sie die Grundlage für die Massenproduktion von Widgets bildet.

App erstellen

Ich denke, die meisten Apps werden immer noch mit UIKit erstellt, daher habe ich mich für "UIKit App Delegate" entschieden. Der Name ist "LeaderCard" unter der Annahme eines Kreditkartenantrags. : entspannt: image.png

Erstellen einer Widget-Erweiterung

Drücken Sie hier +. image.png

Wählen Sie die Widget-Erweiterung und klicken Sie auf "Weiter". image.png

Aktivieren Sie "Konfigurationsabsicht einschließen". (← wichtig hier!) Wenn Sie dies nicht überprüfen, handelt es sich um "Statische Konfiguration". Der Widget-Name lautet "LeaderCardWidget". image.png

Erstellen eines Intent-Handlers

Drücken Sie hier +. image.png

Wählen Sie Intents Extension und klicken Sie auf "Weiter". image.png

Aktivieren Sie nicht "Include UI Extension". (← wichtig hier!) Wählen Sie "Keine" für "Startpunkt". (← wichtig hier!) Der Intent Handler-Name lautet "LeaderCardIntent". image.png

Einstellung der Absichtsdefinition

Öffnen Sie die im Ordner "LeaderCardWidget" generierte "LeaderCardWidget.intentdefinision". image.png Drücken Sie unten "+", um "Neuer Typ" auszuwählen. image.png Stellen Sie "Karte" auf den Typnamen ein. Sie müssen den Inhalt von "Karte" nicht berühren. image.png Parameters Stellen Sie wie in der Abbildung unten gezeigt ein. image.png

Parameter Der Parameter wird in Kleinbuchstaben auf "Karte" gesetzt. (← wichtig hier!) image.png Dies liegt daran, dass dies der Eigenschaftsname der automatisch generierten Klasse "ConfigurationIntent" ist.

Display Name Die hier angegebene Zeichenfolge wird an der in der folgenden Abbildung gezeigten Position angezeigt.

Type Wählen Sie "Karte".

Configurable Überprüfen.

Dynamic Options Überprüfen.

Prompt Label Die hier angegebene Zeichenfolge wird an der in der folgenden Abbildung gezeigten Position angezeigt.

Target Membership Überprüfen Sie LeaderCardWidgetExtension und LeaderCardIntent. (← wichtig hier!) image.png

Codieren Sie mindestens den Intent Handler

Ausgangszustand

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
    }
    
}

Fügen Sie das Protokoll "ConfigurationIntentHandling" hinzu. image.png Dann werden Sie gefragt, ob Sie "Protokollstub" hinzufügen möchten. Drücken Sie also "Fix". image.png Die Methode "requireCardOptionsCollection" wurde hinzugefügt. image.png

Schreiben Sie "Vervollständigung (nil, nil)" in den "Code" -Teil. (Da es sich um eine Vorlage handelt, funktioniert nichts.)

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
    }
    
}

Komplett

Die Vorlage sollte jetzt vollständig sein. Bei der Ausführung wird der folgende Bildschirm angezeigt. Wir werden dies konkretisieren und näher an das gewünschte Widget bringen. image.png

GitHub Wir haben hier ein "Vorlagen-Repository" erstellt. Verwenden Sie es daher, wenn Sie möchten. iOS14-Widget-IntentConfiguration-template

Entwicklungsumgebung

Recommended Posts

Erstellen Sie eine Vorlage für das iOS14-Widget mit Absichtskonfiguration.
Erstellen Sie einen Spielplatz mit Xcode 12
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 1
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 2
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 0
Ein Tool zum Generieren von Retina-Bildern für iOS zur Verwendung mit Xcode
Erstellen Sie eine JVM für die App-Verteilung mit JDK 9-Modulen und jlink
Erstellen Sie Ausnahmen mit einer Fluid-Schnittstelle
Erstellen Sie ein Maven-Projekt mit Befehlen
Erstellen Sie einen fließenden Server zum Testen
[Ruby on Rails] Erstellen Sie mit Chartick ein kreisförmiges Diagramm der Summen nach Spalten
Erstellen Sie mit Docker für Mac Teil2 eine Entwicklungsumgebung für Java-Webanwendungen
Hinweise zur Verwendung von BLE in iOS-Apps
Erstellen Sie mit dem Befehl eine JAR-Datei
Erstellen Sie mit Dropwizard eine einfache Webanwendung
Erstellen Sie mit Spring Batch eine einfache On-Demand-Charge
[Schienenentnahme] Erstellen Sie eine einfache Entnahmefunktion mit Schienen
So erstellen Sie ein Maven-Repository für 2020
Erstellen eines einfachen Balkendiagramms mit MPAndroidChart
Erstellen Sie eine temporäre Klasse mit new Object () {}
[Rails] So erstellen Sie eine Teilvorlage
[Rails 5] Erstelle eine neue App mit Rails [Anfänger]
So erstellen Sie ein Excel-Formular mithilfe einer Vorlagendatei mit Spring MVC
Erstellen Sie eine Website mit Spring Boot + Gradle (jdk1.8.x)
So erstellen Sie überall eine H2-Datenbank
[Memo] Erstellen Sie mit Docker ganz einfach eine CentOS 8-Umgebung
Erstellen Sie mit Spring Boot eine einfache Such-App
Erstellen Sie eine CSR mit erweiterten Informationen in Java
Erstellen Sie mit Java + MySQL ein einfaches Bulletin Board
[Rails] Rails neu, um eine Datenbank mit PostgreSQL zu erstellen
Lassen Sie uns mit Javas Timer einen zeitgesteuerten Prozess erstellen! !!
Hinweise für diejenigen, die mit JMockit leben
So erstellen Sie Pagenationen für das "Kaminari" -Array
[Java] Erstellen Sie eine Sammlung mit nur einem Element
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [Einführung]
Erstellen Sie einen Team-Chat mit Rails Action Cable
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Einführung]
Erstellen Sie ein SandBox-Konto mit Fastlane Spaces IP
Erstellen Sie in Salesforce ein Tool zur Namensidentifizierung
Erstellen Sie eine Mehrschlüsselkarte mit einer Standardbibliothek
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [99. Mod-Ausgabe]
Erstellen Sie einen Web-API-Server mit Spring Boot
Erstellen Sie eine Docker-Umgebung für Oracle 11g XE
Erstellen Sie mit Docker eine Spring Boot-Entwicklungsumgebung
[Azure] Ich habe versucht, eine kostenlose Java-App zu erstellen ~ Mit FTP verbinden ~ [Anfänger]