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

Posted

技术标签:

【中文标题】为啥 Today Widget 在 iOS 14 上显示“无法加载”且无法调试?【英文标题】:Why does Today Widget show 'Unable to load' on iOS 14 and cannot be debugged?为什么 Today Widget 在 iOS 14 上显示“无法加载”且无法调试? 【发布时间】:2020-11-06 15:59:07 【问题描述】:

ios 14 上运行我的 iOS 12+ 应用程序时,(长期存在的)今日小部件不再工作。仅显示 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 上根本无法运行。

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

【问题讨论】:

同样的问题。有更新吗? 【参考方案1】:

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

【讨论】:

您的帖子分享了您遇到相同问题但没有回答问题。 只是想指出操作系统中可能有一些变化已经“吹走”了许多第 3 方(非 Apple)小部件 - 根据我的经验,所有非 Apple 小部件。所以要么对小部件有一些新要求,要么是 iOS 存在问题。

以上是关于为啥 Today Widget 在 iOS 14 上显示“无法加载”且无法调试?的主要内容,如果未能解决你的问题,请参考以下文章

Today Widget Extension 动画在 iOS 10 上不起作用

从 iOS 8 Today Widget 访问 PFIzer 当前用户

iOS 应用程序 - 数据仅在 iOS13 上未显示在 Today Widget 和 Notification 扩展中

Core Data iOS 8 Today Widget 问题

iOS 8 Today Widget 使用自动布局来适应 UITableView 的高度

iOS开发之widget实现