Trabalhando com configurações do watchOS no Xamarin
Os aplicativos do Apple Watch podem usar a mesma funcionalidade de Configurações que os aplicativos iOS - as configurações da interface do usuário são exibidas no aplicativo Apple Watch para iPhone, mas os valores são acessíveis no aplicativo do iPhone e também na extensão watch.
As configurações serão armazenadas em um local de arquivo compartilhado acessível tanto para o aplicativo iOS quanto para a extensão de aplicativo watch, definida 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 do iPhone em sua solução (não no aplicativo watch ou na extensão):
Clique com o botão direito do mouse em Adicionar > Novo Arquivo... e escolha Settings.bundle (não é possível 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. textfield, alternar comutador e controle deslizante por padrão (que você pode excluir e substituir por suas próprias configurações):
Usar 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. Esse aplicativo permite que o usuário mostre/oculte aplicativos no watch e também edite as configurações expostas usando o Settings-Watch.bundle.