2012-09-17 9 views
25

La voce su iOS non legge correttamente il nome della mia azienda. Ad esempio, legge "cane" anziché "D.O.G." (non è il mio vero nome di società ma si ottiene l'idea)Accessibilità iOS: voce personalizzata su testo per nome visualizzato in bundle

Ci aggiriamo dicendo all'app di leggere "D O G" in tutti i punti in cui viene letto il nome dell'azienda.

Tuttavia, voice over legge il nome visualizzato in bundle in modo errato sia sull'icona dell'applicazione che dopo che l'app ha terminato l'avvio.

C'è un modo per far leggere la mia app "D O G" anziché "dog" dopo l'avvio dell'app? Mi accontento di forzare l'app a non leggere il nome visualizzato del bundle dopo l'avvio dell'app e quindi a leggere manualmente "D O G".

(sto assumendo non è possibile impostare una voce personalizzata finita per l'icona dell'applicazione, ma punti bonus per tutti coloro che non conosce se posso o non posso)

+0

Bene nessuna risposta 6 mesi. Basandomi su ciò e discutendo con i colleghi, suppongo che ciò non sia possibile a partire da iOS 6.1 –

+1

"D.O.G." in realtà si legge come "D O G" su 6.1. Puoi fare un esempio (un'altra stringa) che mostri il problema esatto? – proxi

+1

incomprensione, la mia app si chiama "CANE" quindi legge la parola cane. Voglio che legga "D O G" (Tre lettere separate). So che D.O.G. realizza questo. La domanda è se puoi dire al sistema operativo iOS di leggerlo quando un utente dell'accessibilità evidenzia l'icona dell'app nella schermata iniziale di iOS (all'esterno dell'app) –

risposta

5

A partire da iOS 8, è possibile ottenere ciò aggiungendo la chiave CFBundleSpokenName al proprio Info.plist.

11

Non credo che si può fornire una stringa di nome bundle alternativa per VoiceOver. Tuttavia, sono riuscito a trovare un trucco che potesse funzionare nel tuo scenario specifico:

VoiceOver sembra interpretare i vari caratteri di controllo in modo diverso. \u7f è uno dei personaggi che divide la parola per VoiceOver e tuttavia non si interrompe la visualizzazione nel launchpad. Pertanto, definendo nome del bundle come:

CFBundleDisplayName="D\U007fO\U007fG"; 

in InfoPlist.strings sembra per ottenere quello che ti serve.

+0

Impressionante! Molto bene! Comunque .... il nome della mia azienda non è in realtà DOG. In realtà inizia con un A. Consente di chiamare la mia azienda ADS. Usando il tuo metodo, la voce oltre legge "'ah' ',' D ',' S '", invece di "' Ay ',' D ',' S '". Sembra che stia usando la pronuncia sbagliata della lettera A. C'è comunque un modo per forzare questo? La tua soluzione avrebbe funzionato perfettamente se il nome della mia azienda non fosse iniziato con un A –

+1

Penso che tu sia sfortunato allora ( – proxi

+0

Questo ha funzionato perfettamente per la nostra app chiamata "9292" (che prima era sempre pronunciata nove mille duecentonovantadue) -thanks! – Martijn

Problemi correlati