⎮ Custom Font가 적용이 안된다고?
Custom Font가 적용이 안된다면, 2가지 케이스를 확인해볼 수 있다.
⎮ 1. 오타가 있는 경우
- info.plist에 오타가 있는 경우
* 지금처럼 확장자명을 빼고 작성했을 수 있다
- 코드에 오타가 있는 경우
이렇게 했을 때 눈을 씻고 봐도 아무런 이상이 없다면, 다음의 케이스를 확인하면 된다.
⎮ 2. 시스템에 잡혀있는 폰트 이름과 다른 경우
- 시스템에 잡혀있는 폰트 이름 확인을 확인하고 맞춰주기
SceneDelegate로 들어가서, willConnectTo session 부분에 하단의 코드를 작성해준다.
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
for fontFamily in UIFont.familyNames {
for fontName in UIFont.fontNames(forFamilyName: fontFamily) {
print(fontName)
}
}
그러면 아래와 같이 폰트의 이름을 확인할 수 있다.
해당 이름과 name에 들어가는 이름을 확인하면 다음과 같이 빌드가 잘 되는 것을 확인할 수 있다.
⎮ 근데 왜 폰트 이름이 다를까?
내가 분명히 폰트 이름을 세팅해줬는데도 왜 폰트 이름이 다를까?
UIFont(name:size:)에 들어가는 폰트 이름은 info.plist에 등록된 파일명과 다를 수 있는데,
info.plist에는 ElectricalSafetyBoldTTF.ttf라고 해두어도,
실제 UIFont에서 사용할 때는 "ElectricalSafety-Bold"
또는 시스템이 내부적으로 인식하는 이름인 "Electrical-Safety-Bold-TTF"처럼 달라질 수 있다.
TTF/OTF 파일에는 내부적으로 정의된 PostScript 이름이 있고,
UIFont(name:)에서는 파일명이 아니라 PostScript 이름을 써야한다.
⎮ 세팅을 다시 맞춰줘야할까?
Info.plist의 역할이 결국 시스템에 "이 폰트를 번들에 포함시켜줘!"라고 알려주는 것이다.
시스템 로그에서 폰트가 뜬다는 것은, 이미 폰트가 잘 포함되었다는 것이라서
info.plist의 세팅을 다시 맞춰줄 필요는 없다.
'Swift > 오류 개발자' 카테고리의 다른 글
Swift | View 전환 시 기존 View가 살아 있는 문제 해결하기 (0) | 2025.04.20 |
---|---|
Swift | Converting non-sendable function value to '@Sendable () -> ()' may introduce data races 오류 이해하기 (0) | 2025.04.05 |
Swift | presentingViewController.dismiss 오류(feat. 휴먼 에러) (0) | 2025.03.26 |
Swift | SnapKit no such file or directory 오류 (2) | 2025.03.18 |
Swift | TableView에서 특정 영역만 선택이 가능하도록 만들기 (0) | 2025.03.09 |