未找到 macCatalyst 资产

问题描述 投票:0回答:1

只要我的资产目录中的图像资产存在设备变体,macCatalyst 就找不到该资产。此问题不会出现在 iOS 或 iPadOS 上,仅出现在 macCatalyst 上。一旦我删除所有变体,图像就会正确显示。如果我添加任何变体,例如 iPad、macCatalyst 或 Mac 的备用图像,则整个图像将不再显示。

有人遇到类似问题吗?

代码片段非常简单:

struct MyView: View {
    var body: some View {
        //Image name is different than the ones on the screenshots
        Image("myimage")
    }
}

以下图像将毫无问题地显示: Working asset

添加任何变体(包括 Mac Catalyst Scaled 或 Mac 变体)会导致找不到图像: enter image description here

xcode swiftui assets mac-catalyst
1个回答
0
投票

我尝试过这个并遇到了同样的问题。我想出了两个解决方案:

  1. 请勿使用 Mac Catalyst。创建非 Catalyst Mac 版本。 SwiftUI 代码在 iOS 和 macOS 上运行。在这种情况下,macOS 应用程序将使用图像资源的 Mac 变体或通用变体(如果没有 Mac 变体)。

  2. 如果您出于某种原因需要使用 Mac Catalyst,请更改该行:

    Image("myimage")
    

    至:

    Image(uiImage: UIImage(named: "myimage")!)
    

    这将允许图像出现在 iOS 和 macOS 中(通过 Mac Catalyst)。 macOS 应用程序将使用 iPad 图像。

© www.soinside.com 2019 - 2024. All rights reserved.