Trabalhando com as configurações do watchOS no Xamarin

Os aplicativos do Apple Watch podem usar a mesma funcionalidade de configurações que os aplicativos iOS - a interface do usuário de configurações é exibida no aplicativo Apple Watch para iPhone, mas os valores podem ser acessados no aplicativo do iPhone e também na extensão do relógio.

Os apps do Apple Watch podem usar a mesma funcionalidade de Ajustes que os apps do iOS

As configurações serão armazenadas em um local de arquivo compartilhado que pode ser acessado pelo aplicativo iOS e pela extensão do aplicativo de inspeção, definido por um Grupo de Aplicativos. Você deve configurar um grupo de aplicativos antes de adicionar as configurações usando as instruções abaixo.

Adicionar configurações em uma solução de inspeção

No aplicativo para iPhone em sua solução (não no aplicativo ou extensão do relógio):

  1. Clique com o botão direito do mouse em Adicionar > Novo Arquivo... e escolha Settings.bundle (você não pode editar o nome na caixa de diálogo Novo Arquivo ):

    Adicionar um novo pacote de configurações

  2. Altere o nome para Settings-Watch.bundle (selecione e digite Command + R para renomear):

    Renomear o pacote

  3. Adicione uma nova chave ApplicationGroupContainerIdentifier ao Root.plist com o valor definido para o grupo de aplicativos que você configurou (por exemplo group.com.xamarin.WatchSettings , no exemplo):

    Adicionar uma chave ApplicationGroupContainerIdentifier ao Root.plist

  4. Edite o Settings-Watch.bundle/Root.plist para conter as opções que você deseja usar - o arquivo de modelo contém um grupo. text, alternar o botão e o controle deslizante por padrão (que você pode excluir e substituir por suas próprias configurações):

Edite o Settings-Watch.bundle/Root.plist

Use as configurações no aplicativo Watch

Para acessar os valores selecionados pelo usuário, crie uma NSUserDefaults instância usando o grupo de aplicativos e especificando NSUserDefaultsType.SuiteName:

NSUserDefaults shared = new NSUserDefaults(
    "group.com.xamarin.WatchSettings",
    NSUserDefaultsType.SuiteName);

var isEnabled = shared.BoolForKey ("enabled_preference");
var userName = shared.StringForKey ("name_preference");

Aplicativo Apple Watch

O novo aplicativo Apple Watch no iPhone

Os usuários interagirão com as configurações por meio do novo aplicativo Apple Watch em seu iPhone. Este aplicativo permite que o usuário mostre/oculte aplicativos no relógio e também edite as configurações expostas usando o Settings-Watch.bundle.

A captura de tela mostra WatchKitSettings no aplicativo. A captura de tela mostra WatchTodo no aplicativo.