Praca z ustawieniami systemu watchOS na platformie Xamarin
Apple Watch aplikacje mogą używać tej samej funkcji Ustawienia co aplikacje systemu iOS — interfejs użytkownika ustawień jest wyświetlany w aplikacji Apple Watch iPhone, ale wartości są dostępne zarówno w aplikacji iPhone, jak i w rozszerzeniu zegarka.
Ustawienia będą przechowywane w udostępnionej lokalizacji pliku, która jest dostępna zarówno dla aplikacji systemu iOS, jak i rozszerzenia aplikacji zegarka zdefiniowanej przez grupę aplikacji. Przed dodaniem ustawień należy skonfigurować grupę aplikacji, korzystając z poniższych instrukcji.
Dodawanie ustawień w rozwiązaniu do zegarka
W aplikacji dla telefonu iPhone w rozwiązaniu (a nie w aplikacji do obejrzenia lub rozszerzeniu):
Kliknij prawym przyciskiem myszy pozycję Dodaj > nowy plik... i wybierz pozycję Settings.bundle (nie można edytować nazwy w oknie dialogowym Nowy plik ):
Zmień nazwę na Settings-Watch.bundle (wybierz i wpisz Polecenie + R , aby zmienić nazwę):
Dodaj nowy klucz
ApplicationGroupContainerIdentifier
do pliku Root.plist z wartością ustawioną na skonfigurowaną grupę aplikacji (np.group.com.xamarin.WatchSettings
w przykładzie):Edytuj plik Settings-Watch.bundle/Root.plist , aby zawierał opcje, których chcesz użyć — plik szablonu zawiera grupę. pole tekstowe, przełącznik i suwak domyślnie (które można usunąć i zastąpić własnymi ustawieniami):
Korzystanie z ustawień w aplikacji watch
Aby uzyskać dostęp do wartości wybranych przez użytkownika, utwórz NSUserDefaults
wystąpienie przy użyciu grupy aplikacji i określ polecenie NSUserDefaultsType.SuiteName
:
NSUserDefaults shared = new NSUserDefaults(
"group.com.xamarin.WatchSettings",
NSUserDefaultsType.SuiteName);
var isEnabled = shared.BoolForKey ("enabled_preference");
var userName = shared.StringForKey ("name_preference");
aplikacja Apple Watch
Użytkownicy będą korzystać z ustawień za pośrednictwem nowej aplikacji Apple Watch na telefonie iPhone. Ta aplikacja umożliwia użytkownikowi wyświetlanie/ukrywanie aplikacji na zegarku, a także edytowanie ustawień uwidocznionych przy użyciu pakietu Settings-Watch.bundle.