Xcode 4.2 の release 問題

■2012.4.16 追記
メモリ解放に関するコードは「書かなくてもいいよ」なニュアンスで、推奨ではありませんでした。

    • -

Xcode 4.2 (iOS5) からはメモリ解放の必要が無くなったようで、dealloc メソッド実装したままコンパイルしたら以下のようなエラーが出てコンパイルに失敗。

"autorelease" release is unavailable: not available in automatic reference counting mode

原因は Apple LLVM compiler 3.0 というコンパイラが原因の様子。dealloc メソッドを省略してしまえば良いらしいけれど、プロジェクトの Build Settings から値を変えてることでも回避できるみたい。

プロジェクトをダブルクリック > Build Settings タブを選択 > Apple LLVM compile 3.0 - Language 項の Objective-C Automatic Reference Counting を「No」に変更