在 iOS 14 上运行我的 iOS 12+ 应用程序时,(长期存在的)今日小部件不再工作。而不是只显示小部件内容Unable to load
。
相同的代码在 iOS 13 及更低版本上运行没有任何问题。
注意:这与 iOS 14 引入的新主屏幕小部件无关。它们工作正常。这是关于今天的旧小部件。
Unable to load
我发现了几个关于这个问题的现有线程和其他资源。但是,它们都较旧,并且与 iOS 14 无关。在几乎所有情况下,问题都是小部件崩溃,因此无法加载。
我尝试通过直接从 Xcode 运行它来调试小部件扩展:选择 Widget 目标而不是 App 目标并运行项目。这在 iOS 13 及更低版本上运行良好。小部件变得可见并按预期工作。另外我可以使用断点等来检查是否有任何问题。
然而,在 iOS 14 上,当我开始调试时没有任何反应,希望 Xcode 显示Running com.apple.springboard on iPhone XYZ
. 当我手动切换到今天的屏幕时,小部件Unable to load
再次显示。
由于调试不起作用,我添加了一种将消息记录到应用程序组文件夹中的文件的方法。虽然这在 iOS 13 及更低版本上也可以正常工作,但在 iOS 14 上没有任何作用。
我正在使用 Xcode 12.1,据我所知,iOS 14 和 14.1 都受到了影响。
似乎 Widget 根本无法在 iOS 14 上运行。
知道问题可能是什么吗?知道如何在不调试或记录的情况下找到问题的根源吗?