Работа с параметрами в Xamarin watchOSWorking with watchOS Settings in Xamarin

Apple Watch приложения могут использовать те же функциональные возможности параметров, как приложения iOS — параметры пользовательского интерфейса отображается в Apple Watch приложение для iPhone, но значения доступны в приложении для iPhone и также расширение просмотра.Apple Watch apps can use the same Settings functionality as iOS apps - the settings user interface is displayed in the Apple Watch iPhone app but the values are accessible in both your iPhone app and also the watch extension.

Параметры, которые будут храниться в общую папку, доступную для приложения iOS и расширение приложения watch, определяется групп приложений.The settings will be stored in a shared file location that is accessible to both the iOS app and the watch app extension, defined by an App Group. Вы должны настроить группу приложений прежде чем добавлять параметры, используя приведенные ниже инструкции.You should configure an App Group before adding the settings using the instructions below.

Добавление параметров в решении контрольных значенийAdd Settings in a Watch Solution

В приложение для iPhone в решении (не приложении для Apple watch или расширения):In the iPhone app in your solution (not the watch app or extension):

  1. Щелкните правой кнопкой мыши Добавить > новый файл... и выберите Settings.bundle (нельзя изменить имя в новый файл диалоговое окно):Right-click Add > New File... and choose Settings.bundle (you cannot edit the name in the New File dialog):

  2. Измените имя на параметры Watch.bundle (выберите и введите Command + R переименование):Change the name to Settings-Watch.bundle (select and type Command + R to rename):

  3. Добавьте новый раздел ApplicationGroupContainerIdentifier для Root.plist со значением, равным эту группу приложений, которые вы настроили, (например)Add a new key ApplicationGroupContainerIdentifier to the Root.plist with the value set to the app group you've configured, (eg. group.com.xamarin.WatchSettings в примере):group.com.xamarin.WatchSettings in the sample):

  4. Изменить Settings-Watch.bundle/Root.plist должен содержать параметры, которые вы хотите использовать - файле шаблона содержит группу.Edit the Settings-Watch.bundle/Root.plist to contain the options you wish to use - the template file contains a group. TextField, переключатель и ползунка по умолчанию (который можно удалить и заменить со своими параметрами):textfield, toggle switch and slider by default (which you can delete and replace with your own settings):

Использование параметров в приложении для Apple WatchUse Settings in the Watch App

Чтобы получить доступ к значениям, выбранным пользователем, создайте NSUserDefaults экземпляра с помощью групп приложений и указав NSUserDefaultsType.SuiteName:To access the values selected by the user, create an NSUserDefaults instance using the app group and specifying 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 WatchApple Watch App

Пользователи будут взаимодействовать с параметрами через новый Apple Watch приложения на своих устройствах iPhone.Users will interact with the settings via the new Apple Watch app on their iPhone. Это приложение позволяет показать или скрыть приложений в Контрольные значения, а также изменить параметры, доступной с помощью Watch.bundle параметры.This app allows the user to show/hide apps on the watch, and also edit the settings exposed using the Settings-Watch.bundle.