2015-10-16 77 views
3

我發佈了一款在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及以下。

回答

6

一個32位整數的最大值是2 147 483 647

delay值可以是大於,所以有時它會崩潰在32個平臺,如你列出這些設備,因爲Int不會能夠保持價值。

+0

可以通過使其成爲UInt來解決 – Arbitur

+0

謝謝!現在我可以很快啓動修復程序! –

3

如果原因是因爲國際貨幣基金組織不能保持價值,那麼使其成爲UInt。這將使其最大值翻倍。