今天小部件“无法加载”错误

26

有时小部件会崩溃并出现“无法加载”错误。 有人知道如何修复它吗? 小部件没有请求服务器或其他的内容。

在此输入图像描述

7个回答

34

无法在今天的小部件中加载通常出现在以下情况下:

  1. 您的扩展由于某种原因崩溃
  2. 它占用的内存超过系统提供的内存限制。(内存限制:最大约16MB)

调试您的应用程序扩展以找出确切的问题。

参考Xcode的Debug Gauge以获得内存和CPU利用率。

编辑:

调试今天的小部件

您可以使用与调试主项目相同的方式来调试扩展。只需在Xcode中选择特定的target scheme并运行该项目即可。

输入图像描述

现在尝试在扩展代码中使用断点和其他打印语句,您就可以开始愉快的编码了。


第二部分是我的问题。只是移除了一些图片,现在它正常工作了。 - Ildar.Z
1
请告诉我如何调试 Widget? - nitin.agam
@iDev750 我已经更新了关于调试小部件的答案。 - PGDev
@PGDev 谢谢你,我已经解决了我的问题。实际上,我的应用程序崩溃是因为UIImageView无法找到我正在使用的图像。 谢谢! - nitin.agam

6

重新启动设备。
这拯救了我。


2
谢谢您的提示!除了被采纳的答案外,这对我非常有帮助。 - Mikrasya

1
我遇到了这个错误。我使用了自定义视图,但忘记检查是否为初始视图控制器。请在“显示属性检查器”中设置入口点作为初始视图控制器。

1
  1. 我曾经遇到了同样的问题,它什么都没有显示。即使我的调试选项也无法工作。我在网上找到了一篇文章,对我帮助很大。我想在这里推荐一下。

  2. 大多数情况下,内容视图的大小会导致小部件崩溃。在这种情况下,请在TodayViewController中使用此代码片段。

代码片段

override func viewWillAppear(_ animated: Bool)
{
    var currentSize: CGSize = self.preferredContentSize
    currentSize.height = 200.0
    self.preferredContentSize = currentSize
}                                                                                       

Link 以供进一步研究。


0
在我的情况下,小部件目标中的“Build Phases”选项卡中的“Link Binary With Libraries”中意外删除了“NotificationCenter.framework”。

0

请确保您有超过0行

我已经构建了一个类似于为今天视图构建简单小部件的今天小部件。

我没有遇到上述任何问题。我的问题是0行(这一天我没有数据,因此为0行)。我没有预料到这可能是问题,因为在主应用程序中,您可以拥有空的表格视图。

如果您看到无法加载消息,请确保您至少有1行。


0

viewDidLoad中设置:

extensionContext?.widgetLargestAvailableDisplayMode = .expanded

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接