Today-Widget "Unable to load" 错误
Today-Widget "Unable to load" error
小部件有时会因 "unable to load" 错误而崩溃。
有人知道如何解决吗?
小部件没有请求服务器或其他东西。
无法在中加载今天扩展主要出现在以下时间:
- 您的扩展由于某种原因崩溃了
- 占用的内存比系统提供的内存多。 (内存限制:最大约 16MB)
调试您的应用扩展以找出确切的问题。
请参阅 Xcode 的 调试仪表 了解内存和 CPU 利用率。
编辑:
调试今天的扩展程序
您可以像调试主项目一样调试扩展程序。只是 select 您的 Xcode 和 运行 项目中的特定 target scheme
。
现在尝试在扩展代码中使用断点和其他打印语句,一切顺利。编码愉快..
我遇到过这个错误
我使用了自定义视图。但是忘了检查 Is initial viewController。
将入口点表单 "show attribute inspector" 设置为初始视图控制器
我遇到过同样的问题,它没有显示任何内容。甚至我的调试选项也不起作用。我在网上找到一篇文章,对我帮助很大。我想在这里推荐这个。
大多数时候是内容视图的大小导致小部件崩溃。在这种情况下,请在 TodayViewController 中使用此代码片段。
代码片段
override func viewWillAppear(_ animated: Bool)
{
var currentSize: CGSize = self.preferredContentSize
currentSize.height = 200.0
self.preferredContentSize = currentSize
}
Link 进一步研究。
确保你有超过 0 行
我构建了一个类似于 Building a Simple Widget for the Today View 的今日小部件。
我有 none 个上述问题。我的是 0 行(我没有这一天的数据,因此是 0 行)。我没想到这可能是问题,因为在主应用程序中,您可以有空的 table-view.
如果您看到 unable to load
消息,请确保您至少有 1 行。
在viewDidLoad
中设置:
extensionContext?.widgetLargestAvailableDisplayMode = .expanded
重启设备。
这救了我。
在我的例子中,NotificationCenter.framework
被不小心从小部件目标 Build Phases
选项卡中的 Link Binary With Libraries
中删除。
小部件有时会因 "unable to load" 错误而崩溃。 有人知道如何解决吗? 小部件没有请求服务器或其他东西。
无法在中加载今天扩展主要出现在以下时间:
- 您的扩展由于某种原因崩溃了
- 占用的内存比系统提供的内存多。 (内存限制:最大约 16MB)
调试您的应用扩展以找出确切的问题。
请参阅 Xcode 的 调试仪表 了解内存和 CPU 利用率。
编辑:
调试今天的扩展程序
您可以像调试主项目一样调试扩展程序。只是 select 您的 Xcode 和 运行 项目中的特定 target scheme
。
现在尝试在扩展代码中使用断点和其他打印语句,一切顺利。编码愉快..
我遇到过这个错误 我使用了自定义视图。但是忘了检查 Is initial viewController。 将入口点表单 "show attribute inspector" 设置为初始视图控制器
我遇到过同样的问题,它没有显示任何内容。甚至我的调试选项也不起作用。我在网上找到一篇文章,对我帮助很大。我想在这里推荐这个。
大多数时候是内容视图的大小导致小部件崩溃。在这种情况下,请在 TodayViewController 中使用此代码片段。
代码片段
override func viewWillAppear(_ animated: Bool)
{
var currentSize: CGSize = self.preferredContentSize
currentSize.height = 200.0
self.preferredContentSize = currentSize
}
Link 进一步研究。
确保你有超过 0 行
我构建了一个类似于 Building a Simple Widget for the Today View 的今日小部件。
我有 none 个上述问题。我的是 0 行(我没有这一天的数据,因此是 0 行)。我没想到这可能是问题,因为在主应用程序中,您可以有空的 table-view.
如果您看到 unable to load
消息,请确保您至少有 1 行。
在viewDidLoad
中设置:
extensionContext?.widgetLargestAvailableDisplayMode = .expanded
重启设备。
这救了我。
在我的例子中,NotificationCenter.framework
被不小心从小部件目标 Build Phases
选项卡中的 Link Binary With Libraries
中删除。