iOS 14小部件在实时应用上显示为黑色

jm81lzqq  于 2023-01-10  发布在  iOS
关注(0)|答案(3)|浏览(360)

我正在使用widgetkit扩展的应用程序中工作。我有一个wierd问题,如小部件在开发端正确显示,但当我使应用程序运行时,它向用户显示空白(黑色)小部件。
开发应用程序时的屏幕截图。

屏幕截图,而使应用程序活。

下面是我的小部件的代码

import SwiftUI
import WidgetKit
import UIKit

private struct Provider: TimelineProvider {

func placeholder(in context: Context) -> SimpleEntry {
    SimpleEntry(date: Date(), water: drunkGlassesInML.convertInMLfromLTR())
}

func getSnapshot(in context: Context, completion: @escaping (SimpleEntry) -> Void) {
    let entry = SimpleEntry(date: Date(), water: drunkGlassesInML.convertInMLfromLTR())
    completion(entry)
}

func getTimeline(in context: Context, completion: @escaping (Timeline<Entry>) -> Void) {
    var entries: [SimpleEntry] = []
    let  entryDate = Calendar.current.date(byAdding: .second, value: 10 , to: Date())!
    let entry = SimpleEntry(date: entryDate, water: drunkGlassesInML.convertInMLfromLTR())
    entries.append(entry)
    let timeline = Timeline(entries: entries, policy: .after(entryDate))
    var timer = Timer()
    timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { (timer) in
        WidgetCenter.shared.reloadAllTimelines()
        completion(timeline)
    }
}
}
private struct SimpleEntry: TimelineEntry {
   let date: Date
   var water: String
}
lztngnrs

lztngnrs1#

简单地重启iPhone/iPad,之后,去窗口小部件并检查它。它为我工作

rseugnpd

rseugnpd2#

只是改变你的iPhone外观正常(克莱尔)。它的工作对我来说。但当一些用户想尝试与其他外观它仍然是黑色的。
但是你可以试试这个主意^^

7ivaypg9

7ivaypg93#

这个问题似乎在12月3日/12月初得到了修复,你应该把iOS的版本更新到最新版本,还有Xcode。

我之前在iOS 14.2和Xcode 12上遇到过这个问题。我现在在iPhone上运行iOS 14.3,并且正在使用Xcode 12.3(12 C33)进行开发

相关问题