我正在使用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
}
3条答案
按热度按时间lztngnrs1#
简单地重启iPhone/iPad,之后,去窗口小部件并检查它。它为我工作
rseugnpd2#
只是改变你的iPhone外观正常(克莱尔)。它的工作对我来说。但当一些用户想尝试与其他外观它仍然是黑色的。
但是你可以试试这个主意^^
7ivaypg93#
这个问题似乎在12月3日/12月初得到了修复,你应该把iOS的版本更新到最新版本,还有Xcode。
我之前在iOS 14.2和Xcode 12上遇到过这个问题。我现在在iPhone上运行iOS 14.3,并且正在使用Xcode 12.3(12 C33)进行开发