简体   繁体   English

iOS辅助功能:自定义语音在文本上显示包显示名称

[英]iOS Accessibility: Custom voice over text for bundle display name

iOS voice over does not correctly read out my companies name. iOS语音结束没有正确读出我的公司名称。 For example it reads out "dog" instead of "DOG" (not my real company name but you get the idea) 例如,它读出“狗”而不是“狗”(不是我真正的公司名称,但你明白了)

We get around this by telling the app to read out "DOG" in all places where the company name is read out. 我们通过告诉应用程序在读出公司名称的所有地方读出“DOG”来解决这个问题。

However, voice over reads the bundle display name out incorrectly both on the app icon, and after the app has finished launching. 但是,在应用程序图标上以及应用程序完成启动后,语音翻转都会错误地读取软件包显示名称。

Is there a way to make my app read out "DOG" instead of "dog" after app launch? 应用程序启动后,有没有办法让我的应用程序读出“DOG”而不是“dog”? I would settle for forcing the app not to read out the bundle display name after app launch and then manually reading out "DOG". 我倾向于强迫应用程序在应用程序启动后不读出软件包显示名称,然后手动读出“DOG”。

(I'm assuming you can't set a custom voice over for the app icon, but bonus points for anyone that knows if I can or can't) (我假设您不能为应用程序图标设置自定义配音,但是对于知道我能不能的人来说,可以获得奖励积分)

I don't think you can provide an alternate bundle name string for VoiceOver. 我不认为您可以为VoiceOver提供备用包名称字符串。 I was however able to find a hack that could work in your specific scenario: 然而,我能够找到一个可以在您的特定场景中工作的黑客:

VoiceOver seems to interpret various control characters differently. VoiceOver似乎以不同的方式解释各种控制字符。 \\u7f\u003c/code> is one of the characters that split the word for VoiceOver and yet do not break display in launchpad. \\u7f\u003c/code>是为VoiceOver分割单词的字符之一,但不会破坏启动板中的显示。 Therefore, defining bundle name as: 因此,将包名称定义为:

CFBundleDisplayName="D\U007fO\U007fG";

in InfoPlist.strings seems to achieve what you need. InfoPlist.strings似乎实现了您的需求。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM