【iPhone】【iOS4】 iOS4になって、動かなくなったアプリが多発してる原因について

iOS4がリリースされて一晩明けた今、「iOS4にしたら、このアプリが動かなくなった」、「このアプリも動かない」などと話題になっているみたいです (※)「iOS4 動かない」などの検索キーワードでTwitterで検索すると、たくさん見つかります 今回の原因の多くのケースは、「iOS4になって、OS側のバグが修正された事」なのではないかと思います。OS自体の挙動にバグがある場合、アプリにバグがあっても結果として動いてしまうケースがあります。これを「OS側がバグを修正してしまう」と、アプリ本来のバグが表面化して動かないアプリが多発するという話です。 続きを読む
26
西村誠一 @khb02323

@iphone_dev_jp iOS3迄は動いていたソフトがiOS4では落ちるトラブルがありまして、[timer invalidate]して[timer release]してtimer=nilするロジックの[timer release]をした瞬間に落ちます。何故だろう・・

2010-06-22 14:06:29
Naoki Kuzumi @kudzu_naoki

@iphone_dev_jp @knb02323 NSTimerはメインスレッドで使う場合通常自分でretainCountを増やしません。初期化がinitほげほげではなくtimerほげほメソッドですよね? なので、releaseすること自体が間違いかと思われます。

2010-06-22 14:13:44
西村誠一 @khb02323

@iphone_dev_jp timerの件、ご解答ありがとうございました。大変参考になりました

2010-06-22 14:19:42
iphone_dev_jp @iphone_dev_jp

release のしすぎでしょう。 3.0 で動いてたのはたまたま。普通 NSTimer は RunLoop が retain するので、自分で retain, release は必要ないです。 [@k_katsumi]

2010-06-22 14:20:02
西村誠一 @khb02323

@k_katsumi ありがとうございます。大変参考になりました

2010-06-22 14:23:23
西村誠一 @khb02323

(たぶん世界中で起こっている)今回のiOS4で動かないアプリが出ている原因が分かりました。「iOS4でOSの不具合を直したのが原因」です。具体的には「これまでバグのあるアプリでも「iPhone3までは動いてた」のが「iOS4でOSのバグを直しちゃった」ので動かなくなったと

2010-06-22 14:46:36
西村誠一 @khb02323

Windowsとか他のOSで散々経験してきた話なんですが、「それやっちゃうと、動かないアプリが頻発するから、不具合挙動含めてOSの挙動は互換性を残す」というのが不文律っていうかよくあるケースなんですが、なんというかもう、さすがAppleとしか言い様がないですね・・

2010-06-22 14:47:44
西村誠一 @khb02323

「俺についてこい、ついてこない奴は置いていくぞ」っていうAppleらしいヒトコマでした。・・・まあ、アプリ側でバグロジックがあったのが原因っちゃ原因なので、こっちも悪いんですけどねー・・・正直、うちのアプリだけで不具合でたとかだったら恐怖の1日でしたが、他でも多発してて助かった

2010-06-22 14:49:08
西村誠一 @khb02323

とりあえず、うちのアプリは「1行のコメントアウト」でiOS4の不具合解消しました・・・

2010-06-22 14:49:29