花了些时间,抱着一点点希望,优化了一下代码,期待着新版上架之后崩溃次数能够降下来。
如图所示,确实是因为自己的代码问题导致了这次小组件崩溃次数猛增的结果,而非我之前文章所说的是新的 iOS14 的原因《ios14桌面小组件崩溃次数猛增》
导致崩溃次数的原因在于:调用 CoreData 实例的位置不正确,不应该放在 Provider 中,而应该放在 EntryView 中。
而官方的开发者论坛,有一个官方的回复👇,貌似也是推荐在 Provider 中实现的,我大概率是被他们坑了https://developer.apple.com/forums/thread/661761#reply-to-this-question
虽然程序能够“正常”运行,但实际上也许崩溃了好多次,只是“肉眼没看到”。
初步猜测这大概是和小组件的刷新机制是有关系的,反正现在问题定位是解决了,具体原因我仍然需要在研究一下。