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.
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):
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 ):
Altere o nome para Settings-Watch.bundle (selecione e digite Command + R para renomear):
Adicione uma nova chave
ApplicationGroupContainerIdentifier
ao Root.plist com o valor definido para o grupo de aplicativos que você configurou (por exemplogroup.com.xamarin.WatchSettings
, no exemplo):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):
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
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.