Freigeben über


Arbeiten mit watchOS-Einstellungen in Xamarin

Apple Watch-Apps können dieselbe 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.

Apple Watch-Apps können die gleiche Einstellungsfunktion wie iOS-Apps verwenden.

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):

  1. 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):

    Hinzufügen eines neuen Einstellungspakets

  2. Ändern Sie den Namen in Settings-Watch.bundle (wählen Sie BEFEHL+R ein, um sie umzubenennen):

    Umbenennen des Bündels

  3. 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):

    Hinzufügen eines ApplicationGroupContainerIdentifier-Schlüssels zur Root.plist

  4. 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):

Edit the Settings-Watch.bundle/Root.plist

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

Die neue Apple Watch-App auf dem iPhone

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.

Screenshot zeigt WatchKitSettings in der App. Screenshot zeigt WatchTodo in der App.