28

iOSのナレーションが私の会社名を正しく読み上げません。たとえば、「DOG」の代わりに「dog」と表示されます(私の実際の会社名ではありませんが、アイデアはわかります)

これを回避するには、会社名が読み取られるすべての場所で「DOG」を読み取るようにアプリに指示します。

ただし、ボイスオーバーは、アプリアイコンと、アプリの起動が完了した後の両方で、バンドルの表示名を誤って読み取ります。

アプリの起動後に、アプリに「犬」ではなく「犬」を読み取らせる方法はありますか?アプリの起動後にバンドルの表示名を読み取らないように強制し、手動で「DOG」を読み取ることにしました。

(アプリアイコンにカスタムボイスオーバーを設定することはできないと思いますが、私ができるかできないかを知っている人にはボーナスポイントがあります)

4

2 に答える 2

11

VoiceOverに代替のバンドル名文字列を提供することはできないと思います。しかし、私はあなたの特定のシナリオで機能する可能性のあるハックを見つけることができました:

VoiceOverは、さまざまな制御文字を異なる方法で解釈するようです。\u7fは、VoiceOverの単語を分割し、ランチパッドの表示を中断しない文字の1つです。したがって、バンドル名を次のように定義します。

CFBundleDisplayName="D\U007fO\U007fG";

InfoPlist.stringsあなたが必要なものを達成するようです。

于 2013-04-11T12:46:49.337 に答える
8

iOS 8以降、これはCFBundleSpokenNameキーをInfo.plistに追加することで実現できます。

https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/plist/info/CFBundleSpokenName

于 2015-08-25T00:55:28.573 に答える