CoreImageがiOS5のSimulatorでEXC_BAD_ACCESS


iOS5で追加されたCoreImage、便利ですよね。heahtrowではatShopNowアプリのUIのカラーリングに使っているので、ほぼアプリ全体で使っていることになります。
このCoreImage、プロジェクトに既存のターゲットをコピーして新たなターゲットを追加したところ、iOS5のSimulatorで落ちるようになった現象がありました。タイトル通りEXC_BAD_ACCESSでCoreImageのフィルターを使っているところで落ちました。10回に一度程度落ちるというよくわからないエラーです。実機では動くので一応そのままやっても良かったのですが、Simulatorが使えないと開発速度が落ちるし、元のターゲットでは落ちないのでがんばって調べてみました。

解決策

いろいろいじくり回した結果、ターゲットをコピーした時に追加されたビルドスキームは既存のビルドスキームのコピーではないので、この設定の違いが原因でした。ビルドスキームのDebugで

NSDebugEnabled
MallocStackLogging
NSZombieEnbaled

をYESにしたら落ちなくなりました。画面的には以下のようになります。
atShopNow.xcworkspace_—_atShopNow.xcodeproj
正直なんでこれで大丈夫になるのか分からないのですが(Zombieかな?)、もし分かるかたがいたら暇な時に解説をして頂きたいです。

この記事に対してコメントを書く