1

UINavigationBariOS 6 で iOS アプリの をカスタマイズしています。そのために を使用しsetTitleTextAttributesています。

ただし具体的な設定は

NSDictionary *attribute = @{UITextAttributeFont : [UIFont fontWithName:@"Bernard MT Condensed" size:21.0]};

次の例外を除いて、デバイスではアプリがクラッシュしますが、シミュレーターではクラッシュしません。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: 
attempt to insert nil object from objects[0]'

同じ種類のように見えるこの質問を見つけましたが、デバイスシミュレーターの両方がまったく同じ地域設定 (言語、地域形式) に設定されています。

注目に値する事実は、両方の環境で地域設定がアメリカ英語に設定されていることですが、デンマークの特殊文字を使用してデンマークの地域形式でテキストを表示していますが、前述のようにシミュレーターでは機能します。

4

1 に答える 1

3

使用しているフォントはカスタムフォントであり、フォントファイルをアプリのリソースとInfo.plistのエントリに追加する必要があります。

ファイル名の大文字と小文字は実際のデバイスでは重要ですが、シミュレータでは重要ではありません。Info.plistのエントリが、実際のフォントファイルの実際のファイル名(大文字と小文字を含む)と一致していることを確認する必要があります。

シミュレーターの使用で十分だと考える人への補足-これは、実際のデバイスでのテストが重要である多くの理由の1つです。

于 2012-11-24T20:09:58.543 に答える