Arbeiten mit der übergeordneten watchOS-Anwendung in Xamarin

Es gibt verschiedene Möglichkeiten für die Kommunikation zwischen der watch-App und der iOS-App, mit der sie gebündelt ist:

  • Überwachungs-Apps können Code auf der übergeordneten App auf dem iPhone ausführen .

  • Überwachungserweiterungen können einen Speicherort für die übergeordnete iPhone-App freigeben.

  • Verwenden Sie die Übergabe, um Daten aus einer Benachrichtigung an die watch-App zu übergeben und den Benutzer an einen bestimmten Schnittstellencontroller in der App zu senden.

Die übergeordnete App wird manchmal auch als Container-App bezeichnet.

Ausführen von Code

Diese beiden Beispiele veranschaulichen, wie sie verwendenWCSession, um Code auszuführen und Nachrichten zwischen einer watch-App und dem gekoppelten iPhone zu senden:

Freigegebener Speicher

Wenn Sie eine App-Gruppe konfigurieren, können iOS 8-Erweiterungen (einschließlich watch Erweiterungen) Daten für die übergeordnete App freigeben.

NSUserDefaults

Der folgende Code kann sowohl in der watch-App-Erweiterung als auch in der übergeordneten iPhone-App geschrieben werden, sodass sie auf einen gemeinsamen Satz von NSUserDefaultsverweisen können:

NSUserDefaults shared = new NSUserDefaults(
        "group.com.your-company.watchstuff",
        NSUserDefaultsType.SuiteName);

// set values
shared.SetInt (2, "count");
shared.Synchronize ();

// get values
shared.Synchronize ();
var count = shared.IntForKey ("count");

Dateien

Die iOS-App und watch-Erweiterung können dateien auch über einen gemeinsamen Dateipfad freigeben.

var FileManager = new NSFileManager ();
var appGroupContainer =
            FileManager.GetContainerUrl ("group.com.your-company.watchstuff");
var appGroupContainerPath = appGroupContainer.Path;
Console.WriteLine ("agcpath: " + appGroupContainerPath);
// use the path to create and update files

Hinweis: Wenn der Pfad lautet null , überprüfen Sie die Konfiguration der App-Gruppe , um sicherzustellen, dass die Bereitstellungsprofile ordnungsgemäß konfiguriert und auf dem Entwicklungscomputer heruntergeladen/installiert wurden.

Weitere Informationen finden Sie in der Dokumentation zu App-Gruppenfunktionen .