iOS4.3対応にしたら「ARC Weak References」とエラーになった

Xcode4.5.2で新規プロジェクトを作成したアプリを
iOS4.3にも対応させようと[Deployment Target]で4.3を選んで
ビルドを実行すると以下のようなエラーが表示されます。

ARC Weak References
The current deployment target does not support automated _weak references

わたしのときは「@implementation FlipsideViewController」のところで
エラー表示されました。

このエラーはXcodeが新しくなってARCというメモリ管理を
するようになったために古いプログラムでは動かないということみたいです。

ARCを使うとメモリのリリースなどを自動でやってくれるので
プログラムを書くのがかなり楽になったのでうれしいですが
こういうところでエラーが出るとどうしたら良いか対処に困るんですよね。

「ARC Weak References」のエラーが出たときも
対処方法がわからずにネットで情報を集めまくってなんとか
見つけました。

プロパティの指定で「weak」になっている部分を
「unsafe_unretained」に書き換えるだけでした。

@property (weak, nonatomic) id  delegate;

      ↓ 「weak」を「unsafe_unretained」に書き換える

@property (unsafe_unretained, nonatomic) id  delegate;

たったこれだけのことですが
これを調べるのにけっこう時間がかかりました。

こういう面倒なエラーが出るので
iOS4.3に対応させるのはそろそろ終わりにしても
良いかもしれませんね。

タイトルとURLをコピーしました