Arbeiten mit der übergeordneten WatchOS-Anwendung in Xamarin
Es gibt verschiedene Möglichkeiten, zwischen der Watch-App und der iOS-App zu kommunizieren, mit der sie gebündelt ist:
Beobachten Sie, dass Apps Code für die übergeordnete App auf dem i Telefon ausführen können.
Überwachungserweiterungen können einen Speicherort für die übergeordnete i Telefon-App freigeben.
Verwenden Sie die Übergabe, um Daten aus einer Benachrichtigung an die Überwachungs-App zu übergeben, und senden Sie den Benutzer an einen bestimmten Schnittstellencontroller in der App.
Die übergeordnete App wird manchmal auch als Container-App bezeichnet.
Freigegebener Speicher
Wenn Sie eine App-Gruppe konfigurieren, können iOS 8-Erweiterungen (einschließlich Überwachungserweiterungen) Daten für die übergeordnete App freigeben.
NSUserDefaults
Der folgende Code kann sowohl in der Watch-App-Erweiterung als auch in der übergeordneten i Telefon-App geschrieben werden, sodass sie auf einen gemeinsamen Satz von NSUserDefaults
:
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 Überwachungserweiterung kann Dateien auch mithilfe eines gemeinsamen Dateipfads 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 null
dann die App-Gruppenkonfiguration überprüft, um sicherzustellen, dass die Bereitstellungsprofile ordnungsgemäß konfiguriert wurden und auf dem Entwicklungscomputer heruntergeladen/installiert wurden.
Weitere Informationen finden Sie in der Dokumentation zu App-Gruppenfunktionen.