Ottieni la lista delle tastiere internazionali installate sul dispositivo iOS

L’oggetto NSUserDefaults è tipicamente usato per salvare/ripristinare le preferenze della propria applicazione, dati di configurazione, ecc.

tastiere internazionali iphoneIn più oltre alla specifica applicazione, vi è un ampio elenco predefinito di sistema che è disponibile per tutte le applicazioni, accessibile utilizzando il metodo standardUserDefaults per l’oggetto NSUserDefault.

Per ottenere la lista completa delle impostazioni di sistema bisogna inserire questo codice

[code lang=”obj-c”]NSDictionary* defaults = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
NSLog(@\”Defaults: %@\”, defaults);[/code]

Ecco un parziale output di cosa appare sul mio dispositivo

[code lang=”obj-c”]Defaults: {
AppleICUForce24HourTime = 0;
AppleITunesStoreItemKinds = (
wemix,
podcast,

);
AppleKeyboards = (
\”en_US@hw=US;sw=QWERTY\”,
\”zh_Hant-HWR@sw=HWR\”,
\”emoji@sw=Emoji\”
);
AppleKeyboardsExpanded = 1;
AppleLanguages = (
en,
\”zh-Hant\”,
fr,
de,

}[/code]

Come puoi vedere i valori default ritornati qui sono contenuti in un oggetto di tipo dizionario. La lista delle tastiere nel dizionario è contenuto in un NSArray. Per ottenere quell’array semplicemente richiedi l’oggetto con chiave “AppleKeyboards”.

[code lang=”obj-c”]NSArray *tastiere = [[NSUserDefaults standardUserDefaults] objectForKey:@\”AppleKeyboards\”];
NSLog(@\”Tastiere: %@\”, tastiere);[/code]

Ed ecco l’output delle tastiere internazionali installate su iPhone o iPad.

[code lang=”obj-c”]Tastiere: (
\”en_US@hw=US;sw=QWERTY\”,
\”zh_Hant-HWR@sw=HWR\”,
\”emoji@sw=Emoji\”
)[/code]