Eine Apple Watch-App kann mit ihrer übergeordneten iOS-App kommunizieren. Entwickler können diese Funktion nutzen und die Einschränkung einer Watch-App umgehen, indem sie lang andauernde komplexe Aufgaben in der iOS-App ausführen und die Daten an die Watch-App zurückgeben. Lesen Sie weiter, um herauszufinden, wie.
Vergewissern Sie sich vor dem Starten des Lernprogramms, dass Sie ein Xcode-Projekt mit einem WatchKit-App-Ziel eingerichtet haben. Ich gehe davon aus, dass Sie mit der Arbeit mit Xcode und Swift vertraut sind.
1. Öffnen Sie die Interface.storyboard-Datei das sich unter dem WatchKit App-Ziel befindet, fügen Sie ein Taste zur ursprünglichen Ansicht und dann cVerbinden Sie die Schaltfläche mit einer Aktion in Code. In diesem Beispiel habe ich die Aktion benannt buttonPressed. Machen Sie sich noch keine Gedanken über den Code.
2. Fügen Sie in der Aktion buttonPressed den folgenden Code hinzu:
Wir übergeben ein Wörterbuch mit einem Element aus der Watch-App an die iOS-App. Der Antwortabschluss wird aufgerufen, wenn Daten von der iOS-App zurückgesendet werden. Sie können es auf einstellen Null wenn dies eine unidirektionale Kommunikation ist. In der Schließung prüfen wir nur, ob die Daten im Wörterbuch vom Typ String sind, und drucken die Nachricht aus.
3. Gehe zu AppDelegate.swift Datei und fügen Sie den folgenden Code am Ende der Datei hinzu. Bitte beachten Sie diesen Teil der handleWatchKitExtensionRequest Funktion ist vom Screenshot ausgeschlossen und die Funktion funktioniert nur in der AppDelegate-Datei.
Innerhalb dieser Funktion können Sie jede beliebige Aufgabe ausführen. Die Daten von der Watch-App-Seite können aus der App extrahiert werden Benutzerinformation Wörterbuch. Außerdem können Sie Daten an die Watch-App zurücksenden, indem Sie die Option einstellen Antworten Wörterbuch, wie ich im Screenshot oben gezeigt habe.
4. Führen Sie das WatchKit App-Schema aus, drücken Sie die Schaltfläche in der Watch-App und beobachten Sie die Ergebnisse. Wenn alles funktioniert, werden Sie sehen Hallo von Tech-Rezepten im Debug-Fenster.