Compartilhar via


Trabalhando com o aplicativo pai do watchOS no Xamarin

Há diferentes maneiras de se comunicar entre o aplicativo do relógio e o aplicativo iOS que ele acompanha:

  • Os aplicativos do Watch podem executar código no aplicativo pai no iPhone.

  • As extensões de relógio podem compartilhar um local de armazenamento com o aplicativo pai para iPhone.

  • Use a transferência para passar dados de uma notificação para o aplicativo do relógio, enviando o usuário para um controlador de interface específico no aplicativo.

O Aplicativo Pai também é às vezes chamado de Aplicativo de Contêiner.

Armazenamento compartilhado

Se você configurar um grupo de aplicativos, as extensões do iOS 8 (incluindo extensões de observação) poderão compartilhar dados com o aplicativo pai.

NSUserDefaults

O código a seguir pode ser escrito na extensão do aplicativo Watch e no aplicativo pai do iPhone para que eles possam fazer referência a um conjunto comum de NSUserDefaults:

NSUserDefaults shared = new NSUserDefaults(
        "group.com.your-company.watchstuff",
        NSUserDefaultsType.SuiteName);

// set values
shared.SetInt (2, "count");
shared.Synchronize ();

// get values
shared.Synchronize ();
var count = shared.IntForKey ("count");

Arquivos

O aplicativo iOS e a extensão de observação também podem compartilhar arquivos usando um caminho de arquivo comum.

var FileManager = new NSFileManager ();
var appGroupContainer =
            FileManager.GetContainerUrl ("group.com.your-company.watchstuff");
var appGroupContainerPath = appGroupContainer.Path;
Console.WriteLine ("agcpath: " + appGroupContainerPath);
// use the path to create and update files

Observação: se o caminho fornull, verifique a configuração do grupo de aplicativos para garantir que os perfis de provisionamento tenham sido configurados corretamente e tenham sido baixados/instalados no computador de desenvolvimento.

Para obter mais informações, consulte a documentação de Recursos do Grupo de Aplicativos .