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 NSUserDefaults
verweisen 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 .