使用Fabrics崩溃分析或" Crashlytics"我从以下方法/属性中获得了大量崩溃(我假设BAD_ACCESS):
lazy var managedObjectModel: NSManagedObjectModel = {
// The managed object model for the application. This property is not optional. It is a fatal error for the application not to be able to find and load its model.
var modelURL = NSBundle.mainBundle().URLForResource("<app_name>", withExtension: "momd")
return NSManagedObjectModel(contentsOfURL: modelURL!)!
}()
大量意味着在一天之内就有150个用户遭遇275次崩溃。它在大多数设备上工作正常,但我的模拟器确实遇到了问题,我重置了内容并重新启动了我的机器,错误就消失了。
我希望有一个更好的解决方案,而不是告诉那些打电话给我们技术支持的人。
由fabric返回
Crashed: com.apple.main-thread
0 <app_name> 0x100082f9c specialized AppDelegate.(persistentStoreCoordinator.getter).(closure #1) (AppDelegate.swift:314)
1 <app_name> 0x10007e678 AppDelegate.saveContext() -> () (AppDelegate.swift:340)
2 <app_name> 0x10007e014 @objc AppDelegate.applicationWillTerminate(UIApplication) -> () (AppDelegate.swift)
3 UIKit 0x1949f0d48 -[UIApplication _terminateWithStatus:] + 244
4 UIKit 0x194bef268 __102-[UIApplication _handleApplicationDeactivationWithScene:shouldForceExit:transitionContext:completion:]_block_invoke.2093 + 792
5 UIKit 0x194bf2a18 _runAfterCACommitDeferredBlocks + 292
6 UIKit 0x194be4ab4 _cleanUpAfterCAFlushAndRunDeferredBlocks + 528
7 UIKit 0x194958724 _afterCACommitHandler + 132
8 CoreFoundation 0x18e7e49a0 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
9 CoreFoundation 0x18e7e2628 __CFRunLoopDoObservers + 372
10 CoreFoundation 0x18e7e2a74 __CFRunLoopRun + 956
11 CoreFoundation 0x18e712d94 CFRunLoopRunSpecific + 424
12 GraphicsServices 0x19017c074 GSEventRunModal + 100
13 UIKit 0x1949cb130 UIApplicationMain + 208
14 <app_name> 0x100069940 main (AppDelegate.swift:43)
15 libdyld.dylib 0x18d72159c start + 4
还有其他人遇到过这个问题吗?我们正在使用Swift 2.3转换为Swift 3.1。
调用 applicationWillTerminate()时调用该函数。 modelURL是零。
答案 0 :(得分:0)
我也在我的应用中发现了类似的情况。我曾经或两次在模拟器上遇到过这个错误。
根据我的观察,用户从App Switcher滑动应用程序(并将其从内存中删除)时会发生这种情况。我的猜测是Bundle.main
早先变得不可用,app无法完成某些事情。
我没有观察到用户的任何联系。看起来他们无法观察到这一点,因为他们刚刚杀了应用程序。所以这可能是无害的(即使很烦人)。