Wie kann ich eine UIImage
über WatchConnectivity vom iPhone auf die Apple Watch ohne Benutzerinteraktion auf dem Telefon übertragen und lädt nur, weil die Uhr programmgesteuert darauf zugreift. Ich brauche das, weil die Bildverarbeitung zum Erstellen der UIImage
Logik verwendet, die in der Watchkit-API nicht verfügbar ist, also muss sie vom Telefon erstellt werden. Ich habe einige Beispiele für Watch Connectivity mit:
Allerdings bin ich neu, um das Kit und iOS im Allgemeinen zu beobachten und bin verwirrt darüber, wie man diesen Session-Manager benutzt, insbesondere um von der Uhr zum Gerät zu gehen statt umgekehrt, wie ich es in Online-Beispielen sehe. Kann jemand bitte ein Beispiel geben, wie man dies sowohl auf der Uhr als auch auf dem Telefon macht, um ein UIImage
auf dem Handy von der Uhr aus anzurufen?
Um Dateien zwischen Ihrem iPhone und Ihrer Apple Watch zu übertragen, sollten Sie Watch Connectivity verwenden, indem Sie WCSession
verwenden, um die Kommunikation richtig zu handhaben. Sie können eine UIImage
als NSData
senden, indem Sie die Methode didReceiveMessageData
delegate von WCSessionDelegate
verwenden.
Als Erstes sollten Sie Ihre UIImage
in NSData
und umgekehrt konvertieren. Sie können dafür den folgenden Code verwenden:
Bei PNG-Bildern
%Vor%Wenn JPG-Bilder
%Vor% Dann können Sie die WCSession
verwenden, um die Nachricht wie folgt zu senden:
%Vor%ViewController.swift
%Vor%InterfaceController.swift
Im obigen Code, wenn Sie das ViewController
öffnen, sendet es das UIImage
, das obige Beispiel dient nur zu Lernzwecken, Sie müssen es in Bezug auf die Komplexität Ihres Projekts besser handhaben.
Ich hoffe, das hilft Ihnen.
Sie müssen Ihr Bild als NSData übertragen und dann auf der Uhrseite dekodieren. Sie können sich meinen Blogbeitrag ansehen, in dem ich einen ähnlichen Fall behandelt habe. Ссылка
Dies ist nicht die Art, es mit der Sitzung zu machen, da ich es damals nicht bemerkt habe, aber vielleicht wird es dir helfen, die ganze Logik zu verstehen.
Wenn Sie WCSessionDelegate in InterfaceController verwenden, denken Sie daran, die Methode activationDidCompleteWith zu erweitern:
%Vor%Tags und Links ios swift watchkit watch-os-2 swift2