iOS 小部件背景图像在几分钟后变黑

iOS widget background-image goes black after couple of minutes

我目前正在使用 SwiftUI 开发一个 iOS 小部件,我的中型小部件的背景图像有一个奇怪的行为。

我正在根据设备的当前颜色模式设置背景图像,该模式在大多数情况下都有效。但是,当应用程序在后台运行几分钟后,背景图像会变黑,导致文本无法阅读。任何其他 UI 元素仍然可见。当我恢复到我的应用程序时,小部件会自行刷新并且背景图像再次可见。

背景图像包含在我的 image.assets 我的小部件扩展中,因此小部件应该始终可以访问它,不是吗?

此小部件适用于 iOS 14 岁及以上。

我是这样设置背景图片的:

    struct MediumWidget: View {
           @Environment(\.colorScheme) var colorScheme
    
           var body: some View {
               HStack(alignment: .center, spacing: nil) {
                  // Content (shortend)
               }
               .frame(maxWidth: .infinity, maxHeight: .infinity)
               .edgesIgnoringSafeArea(.all)
               .background(
                    backgroundImage
                    .renderingMode(.original)
                    .resizable()
                    .scaledToFill()
               )
           }
        var backgroundImage: Image {
            if colorScheme == .dark {
                return Image("dark")
            }
            return Image("light")
            
        }
    }

我不知道该怎么做,有人知道我做错了什么吗?

提前致谢!

编辑 1:此问题仅出现在这两个背景图像上。当我使用任何其他背景图像时,小部件不会变黑。

由于问题只出现在这两个特定图像上,因此文件似乎是

  1. 未正确添加到资产文件夹
  2. 损坏或损坏

尝试为两张图片生成一个全新的文件(例如截屏),并用资产文件夹中的当前图片替换它们。这很可能会解决您的问题。