我收到很多关于applicationWillTerminate
调用的函数的报告,不仅仅是那个,但我觉得问题的根源可能与此有关。我从Fabric.io Crashlytics获得这些报告。无论如何,导致崩溃的报告行如下:
return Int(NSDate().timeIntervalSince1970 * 1000)
此代码在大多数情况下也一直有效,但已经上升了崩溃列表。任何人都可以给我任何暗示,为什么这可能会崩溃。
答案 0 :(得分:3)
我的猜测是您的崩溃来自32位设备,Int(NSDate().timeIntervalSince1970 * 1000)
是不可能的,因为NSDate().timeIntervalSince1970 * 1000
大于Int.max
。
这是一个小游乐场代码,以表明这是真的:
let i = Int32.max // max size of Int on 32-bit
i // 2147483647
let j = NSDate().timeIntervalSince1970 * 1000
j // 1486250171084.633
我们可以像这样进行测试:
// let's try to simulate the crash
Int32(j)
// yup, crash:
// "Double value cannot be converted to Int32 because the result would be greater than Int32.max"