我的NotificationService应用扩展程序中出现了持续且看似随机的崩溃。这是我的第一个应用程序扩展,所以我不确定调试是否正常工作,但我的异常断点没有被触发。扩展只是退出并且默认通知会通过。我已经能够使用换行符跟踪扩展程序崩溃的特定位置,并直接踩到它崩溃。奇怪的是,它每次都会在同一条线上一直崩溃(因此它似乎不是内存压力问题)。我无法找到任何背后的任何ryhm或理由。以下是一些崩溃的例子:
for key in dict.keys {}
但不是for (key, _) in dict {}
。dateFormatter.date(from:)
但不只是dateFormatter
。attributes.count
其中,属性是自定义结构。existingObjects.insert(newObject, at: 0)
但不是existingObjects.append(newObject)
我没有看到iPhone 6上的崩溃,但是我的iPad Air 2,iPhone 6s Plus和iPhone 7都在同一条线上一直崩溃,直到我做出改变,这将崩溃推向了新的一点。代码。
答案 0 :(得分:3)
在退出一些研究后,我终于找到了答案:https://forums.developer.apple.com/thread/60632。
这确实是一个内存不足的错误。我在Xcode乐器中只看到了5mb,并且认为它不可能因为内存太少而杀死进程,但NotificationService扩展的内存限制非常低,我连接的框架开始时大约4mb。事情发生变化只是一个时间问题。