为什么 Today Widget 在 iOS 14 上显示“无法加载”且无法调试?

And*_*ord 8 xcode widget ios ios10-today-widget ios14

在 iOS 14 上运行我的 iOS 12+ 应用程序时,(长期存在的)Today Widget 不再起作用。而不是仅Unable to load显示小部件内容。

相同的代码在 iOS 13 及更低版本上运行没有任何问题。

注:这是不是关于与iOS 14.他们做工精细推出了新的主屏幕小部件。这是关于旧的今天小部件。

我找到了几个关于这个Unable to load问题的现有线程和其他资源。但是,它们都较旧,并且与 iOS 14 无关。在几乎所有情况下,问题都是小部件崩溃并因此无法加载。

我尝试通过直接从 Xcode 运行来调试小部件扩展:选择小部件目标而不是应用目标并运行项目。这在 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 上根本无法运行。

知道可能是什么问题吗?知道如何在不调试或记录的情况下找到问题的根源吗?

Psa*_*the 3

不知道原因,但我刚刚更新到 14.2,所有非 Apple 小部件都不会运行(所有小部件都显示“无法加载”或空白黑色小部件。而且大多数应用程序都有针对 iOS 14 更新的小部件。

  • 您的帖子表明您遇到了同样的问题,但它没有回答问题。 (3认同)
  • 只是想指出,操作系统可能发生了一些变化,“吹走了”许多第三方(非苹果)小部件 - 根据我的经验,所有非苹果小部件。因此,要么是对小部件有一些新的要求,要么是 iOS 存在问题。 (2认同)