应用程序崩溃iPhone 5及以下版本
问题描述:
我发布了一款在iPhone 5s,6,6s和iPad上运行良好的简单游戏。但在iPhone 5,5C,4S或4上运行时,当该代码发生在该点的应用程序崩溃:应用程序崩溃iPhone 5及以下版本
let delay = Int(arc4random_uniform(UInt32(300)))*Int(NSEC_PER_SEC)/100
我得到这个错误:
thread 1 exc_bad_instruction (code=exc_i386_invop subcode=0x0)
我认为这是很奇怪的,只发生在iPhone 5及以下。
答
一个32位整数的最大值是2 147 483 647
你delay
值可以是大于,所以有时它会崩溃在32个平台,如你列出这些设备,因为Int
不会能够保持价值。
答
如果原因是因为国际货币基金组织不能保持价值,那么使其成为UInt
。这将使其最大值翻倍。
可以通过使其成为UInt来解决 – Arbitur
谢谢!现在我可以很快启动修复程序! –