Compartir a través de


Trabajar con la configuración de watchOS en Xamarin

Las aplicaciones de Apple Watch pueden usar la misma funcionalidad de configuración que las aplicaciones de iOS: la interfaz de usuario de configuración se muestra en la Apple Watch aplicación de iPhone, pero los valores son accesibles tanto en la aplicación de iPhone como en la extensión de inspección.

Apple Watch apps can use the same Settings functionality as iOS apps

La configuración se almacenará en una ubicación de archivo compartida a la que se pueda acceder tanto a la aplicación de iOS como a la extensión de la aplicación de inspección, definida por un Grupo de aplicaciones. Debe configurar un grupo de aplicaciones antes de agregar las opciones mediante las instrucciones siguientes.

Agregar configuración en una solución de inspección

En la Aplicación de iPhone de la solución (no la aplicación de inspección o la extensión):

  1. Haga clic con el botón derecho en Agregar > Nuevo archivo... y elija Settings.bundle (no puede editar el nombre en el cuadro de diálogo Nuevo archivo):

    Add a new Settings Bundle

  2. Cambie el nombre a Settings-Watch.bundle (seleccione y escriba Comando + R para cambiar el nombre):

    Rename the bundle

  3. Agregue una nueva clave ApplicationGroupContainerIdentifier para Root.plist con el valor establecido en el grupo de aplicaciones que ha configurado (por ejemplo group.com.xamarin.WatchSettings, en el ejemplo):

    Add a ApplicationGroupContainerIdentifier key to the Root.plist

  4. Edite settings-Watch.bundle /Root.plist para contener las opciones que desea usar: el archivo de plantilla contiene un grupo. campo de texto, modificador de alternancia y control deslizante de manera predeterminada (que puede eliminar y reemplazar por su propia configuración):

Edit the Settings-Watch.bundle/Root.plist

Usar la configuración en la aplicación Inspección

Para acceder a los valores seleccionados por el usuario, cree una instancia NSUserDefaults mediante el grupo de aplicaciones y especifique 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 Watch App

The new Apple Watch app on the iPhone

Los usuarios interactuarán con la configuración a través de la nueva aplicaciónApple Watch en su iPhone. Esta aplicación permite al usuario mostrar u ocultar aplicaciones en el reloj y editar también la configuración expuesta mediante Configuración-Watch.bundle.

Screenshot shows WatchKitSettings in the app.Screenshot shows WatchTodo in the app.