You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI Xcode15中启动屏幕自定义字体无法在属性检查器显示

SwiftUI启动屏幕自定义字体不显示在属性检查器的解决方案

核心结论

SwiftUI默认的启动屏幕(Launch Screen)属性检查器中无法直接选择App嵌入的自定义字体。原因是启动屏幕在App正式启动前就完成加载,此时App打包的自定义字体还未被系统识别加载,属性检查器的字体列表仅包含系统自带字体,无法读取App内的自定义字体资源。

你之前完成的配置(字体安装到系统、添加到项目并关联目标、Info中配置“应用提供的字体”、代码能打印字体名称等)都是正确的,这些配置仅保证App启动后可以正常使用自定义字体,但对启动屏幕的属性检查器无效。

可行替代方案

方案一:自定义启动视图替换默认启动屏幕

放弃系统默认的Launch Screen,自己实现一个启动页面,在App启动后加载这个页面并显示自定义字体:

@main
struct YourApp: App {
    @State private var isShowingLaunchView = true
    
    var body: some Scene {
        WindowGroup {
            Group {
                if isShowingLaunchView {
                    CustomLaunchView()
                        .onAppear {
                            // 模拟启动延迟,可根据需求调整时长
                            DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
                                isShowingLaunchView = false
                            }
                        }
                } else {
                    ContentView()
                }
            }
        }
    }
}

struct CustomLaunchView: View {
    var body: some View {
        ZStack {
            // 匹配原启动屏幕的背景色
            Color.systemBackground
            Text("你的启动文案")
                .font(.custom("YourCustomFontFamilyName", size: 28))
                .foregroundColor(.primary)
        }
        .ignoresSafeArea()
    }
}

该方案完全兼容自定义字体,只要你之前的字体配置正确,就能正常显示。

方案二:系统安装字体(仅本地测试用)

如果只是想在开发阶段让属性检查器显示自定义字体,可以将字体安装到Mac系统。但此方案仅适用于本地测试,发布后的App在用户设备上无法识别该字体,不用于正式发布。

内容的提问来源于stack exchange,提问作者B.O.M.B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 12:35:16