質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

2294閲覧

カスタムフォントでエラー

taro_nii_chan

総合スコア207

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2017/10/06 05:58

編集2017/10/06 21:59

swift4で、
動いていた

swift

1var comment: String = "コメントです" 2 3// 中略 4 5comment.draw(in: CGRect(x: 20, y: 100, width: rect.width / 2 - 20, height: rect.height - 200), withAttributes: [ 6 NSAttributedStringKey.foregroundColor: UIColor.black, 7 NSAttributedStringKey.font: UIFont.systemFont(ofSize: CGFloat(24)),] 8)

というコードを

swift

1var comment: String = "コメントです" 2 3// 中略 4 5comment.draw(in: CGRect(x: 20, y: 100, width: rect.width / 2 - 20, height: rect.height - 200), withAttributes: [ 6 NSAttributedStringKey.foregroundColor: UIColor.black, 7 NSAttributedStringKey.font: UIFont(name: "APJapanesefontT.ttf", size: 24)!] 8)

に変更したところ
fatal error: unexpectedly found nil while unwrapping an Optional value
というエラーが出るようになりました。

APJapanesefontT.ttfxcodeTARGETSBuild PhasesCopy Bundle Resourcesに登録してあります。

原因と対処法を教えていただけますでしょうか?

追記 2017.10.6 22:01

こんな感じでいいのでしょうか?
イメージ説明
だとすると、引き続き同じエラーが出てしまいます。

あと、xmlで見る方法がわからないので教えていただけますでしょうか?

追記 2017.10.7 6:59

xmlは見れました。

xml

1<key>UIAppFonts</key> 2 <array> 3 <string>APJapanesefontT.ttf</string> 4 </array>

となっていました。

.ttfのTarget Membershipにもチェックが入っています。
イメージ説明
イメージ説明

他に何か可能性はありますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

フォント生成

フォント生成は、

swift

1UIFont(name: "APJapanesefontT", size: 24)

として下さい。nameはファイル名ではなくフォント名(PostScript名)を指定します。

フォント登録

Info.plistにFonts provided by applicationのキーを追加し、Itemにフォントのファイル名を設定して下さい。

xmlだと下記のように感じになります。

xml

1<key>UIAppFonts</key> 2<array> 3 <string>APJapanesefontT.ttf</string> 4</array>

Target Membership

ファイル追加時にチェックし忘れていることがありますので、フォントファイル(APJapanesefontT.ttf)のTarget Membershipを確認して下さい。

投稿2017/10/06 06:39

編集2017/10/07 09:29
fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2017/10/06 15:12

Info.plistの設定は合っていると思います。xmlは、ファイルで右クリックしてSource code‥だったかな?今環境が無いので分かりませんが、それっぽいのを選んでみて下さい。 あと.ttfのTarget Membershipにチェックが入っているかどうか確認して下さい。File inspectorで確認出来ると思います。
taro_nii_chan

2017/10/06 21:59

追記を書きました。よろしくお願いします。
fuzzball

2017/10/07 08:04

name: "APJapanesefontT" にするとどうでしょうか?
taro_nii_chan

2017/10/07 08:12

そうなんです、今発見したところでした。 何故今までそれを試さなかったのか猛省しています。 でもInfo.plistとTarget Membershipに関しては自力では分からなかったことなので とても感謝しています。 ありがとうございました。
fuzzball

2017/10/07 09:25

こちらとしても真っ先に指摘すべき項目だったと反省しております。ベストアンサーに選んでいただきましたので回答を編集しておきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問