Uso delle impostazioni watchOS in Xamarin
Apple Watch app possono usare la stessa funzionalità Impostazioni delle app iOS: l'interfaccia utente delle impostazioni viene visualizzata nell'app Apple Watch iPhone, ma i valori sono accessibili sia nell'app iPhone che nell'estensione dell'orologio.
Le impostazioni verranno archiviate in un percorso di file condiviso accessibile sia all'app iOS che all'estensione dell'app watch, definita da un gruppo di app. È consigliabile configurare un gruppo di app prima di aggiungere le impostazioni seguendo le istruzioni riportate di seguito.
Aggiungere impostazioni in una soluzione Espressioni di controllo
Nell'app iPhone nella soluzione (non l'app watch o l'estensione):
Fare clic con il pulsante destro del mouse su Aggiungi > nuovo file e scegliere Impostazioni.bundle (non è possibile modificare il nome nella finestra di dialogo Nuovo file ):
Modificare il nome in Settings-Watch.bundle (selezionare e digitare Comando + R da rinominare):
Aggiungere una nuova chiave
ApplicationGroupContainerIdentifier
al file Root.plist con il valore impostato sul gruppo di app configurato, adgroup.com.xamarin.WatchSettings
esempio nell'esempio:Modificare Settings-Watch.bundle/Root.plist per contenere le opzioni che si desidera usare. Il file modello contiene un gruppo. textfield, interruttore e dispositivo di scorrimento per impostazione predefinita (che è possibile eliminare e sostituire con le proprie impostazioni):
Usare le impostazioni nell'app Espressioni di controllo
Per accedere ai valori selezionati dall'utente, creare un'istanza NSUserDefaults
usando il gruppo di app e specificando 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
Gli utenti interagiranno con le impostazioni tramite la nuova app Apple Watch sul proprio iPhone. Questa app consente all'utente di visualizzare/nascondere le app nell'orologio e di modificare anche le impostazioni esposte usando Settings-Watch.bundle.