Arbeiten mit watchOS-Einstellungen in Xamarin
Apple Watch Apps können die gleiche Einstellungsfunktion wie iOS-Apps verwenden – die Einstellungsbenutzeroberfläche wird in der Apple Watch iPhone-App angezeigt, aber die Werte sind sowohl in Ihrer iPhone-App als auch in der Watch-Erweiterung zugänglich.
Die Einstellungen werden an einem freigegebenen Dateispeicherort gespeichert, auf den sowohl die iOS-App als auch die Überwachungs-App-Erweiterung zugegriffen werden kann, die von einer App-Gruppe definiert wird. Sie sollten eine App-Gruppe konfigurieren, bevor Sie die Einstellungen mithilfe der nachstehenden Anweisungen hinzufügen.
Hinzufügen von Einstellungen in einer Überwachungslösung
In der iPhone-App in Ihrer Lösung (nicht die Watch-App oder Erweiterung):
Klicken Sie mit der rechten Maustaste auf "Neue Datei hinzufügen > "... und wählen Sie "Settings.bundle " aus (Sie können den Namen nicht im Dialogfeld "Neue Datei " bearbeiten):
Ändern Sie den Namen in Settings-Watch.bundle (wählen Sie BEFEHL+R ein, um sie umzubenennen):
Fügen Sie der Root.plist einen neuen Schlüssel
ApplicationGroupContainerIdentifier
hinzu, wobei der Wert auf die von Ihnen konfigurierte App-Gruppe festgelegt ist (z. B.group.com.xamarin.WatchSettings
im Beispiel):Bearbeiten Sie die Settings-Watch.bundle/Root.plist so, dass sie die gewünschten Optionen enthält – die Vorlagendatei enthält eine Gruppe. Textfeld, Umschalten und Schieberegler standardmäßig (die Sie durch eigene Einstellungen löschen und ersetzen können):
Verwenden von Einstellungen in der Watch-App
Um auf die vom Benutzer ausgewählten Werte zuzugreifen, erstellen Sie eine NSUserDefaults
Instanz mithilfe der App-Gruppe und geben Folgendes an NSUserDefaultsType.SuiteName
:
NSUserDefaults shared = new NSUserDefaults(
"group.com.xamarin.WatchSettings",
NSUserDefaultsType.SuiteName);
var isEnabled = shared.BoolForKey ("enabled_preference");
var userName = shared.StringForKey ("name_preference");
Apple Watch App
Benutzer interagieren mit den Einstellungen über die neue Apple Watch-App auf ihrem iPhone. Mit dieser App kann der Benutzer Apps auf der Uhr ein-/ausblenden und auch die Einstellungen bearbeiten, die mit dem Settings-Watch.bundle verfügbar gemacht werden.