预览设备未显示在预览中

问题描述 投票:0回答:2
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
            .previewDevice(PreviewDevice(rawValue: "iPhone 11"))
    }
}

但是,预览中未显示该设备。我在终端中运行了“

xcrun simctl list devicetypes
”,它确实显示了模拟器。这是正常行为还是我错过了什么。我的目标是展示该应用程序在 iPhone 分辨率下的外观。我正在使用 xCode 13。

swiftui preview
2个回答
18
投票

我在 Xcode 版本 14.1 (14B47b) 中遇到了同样的问题。

就我而言,这是因为选择了不可用的模拟器模型,例如“iPhone 11”,Xcode会根据您当前选择的运行目的地自动选择可用的预览设备。

像这样:

(选择iPhone SE2但自动选择iPhone14 Pro)

同时按住control和option键,点击

previewDevice
,然后在检查器中选择可用的型号即可修复:

(选择iPhone 14,预览显示如预期)

如果这些选项中没有您想要的型号,可以先在菜单Window -> Devices and Simulators中添加。

希望这对您有帮助。


0
投票

我不知道为什么,但是,Xcode 15 Swift 更改预览在我输入以下内容之前不起作用:

struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
        .previewDevice("iPhone 15")
        .previewDevice(PreviewDevice(rawValue: "iPhone 15"))
        .previewDisplayName("iPhone 15")
    }
}

并删除了这个

#Preview {
ContentView()
}
© www.soinside.com 2019 - 2024. All rights reserved.