2011-11-08 6 views
3

AdWhirlを使用してiOSアプリをARC(Automatic Reference Counting)に変換しようとしました。 ARWが禁止するAdWhirlView.m内にいくつかの自動解放呼び出しがあります。AdWhirlとARC

ARCに私の有料アプリ(ARCにはなかったもの)をすべてリファクタリングしたとき、XCodeは自分の保持、リリース、オートリースを削除しましたが、AdWhirlView.mのコードが書かれている方法XCodeを一時停止すると、「[rewriter]」というメッセージが表示され、未使用の「autorelease」メッセージを削除することは安全ではなく、受信機がすぐに破棄される可能性があります。

ARCで正しく動作するようにAdWhirlView.mを書き換えることができる人はいますか? 2つの組み合わせを避けるように強制されますか? =/

ありがとうございます!

+0

あなたはオートレスレースを取り外して自分で修理するのを止めますか? – Jasarien

+1

また、特定のファイルのコンパイラフラグに '-fno-objc-arc'を追加することもできます(ターゲットビルド設定のビルドフェーズ領域を参照)。 –

+0

私がARCに支払った有料アプリ(ARCにはない)をすべてリファクタリングしたとき、XCodeは自分の保持、リリース、オートリースを削除しましたが、AdWhirlView.mのコードが書かれている方法によってはXcodeが一時停止しました、 "[rewriter]に注目すると、未使用の「自動解放」メッセージを削除することは安全ではなく、その受信機はすぐに破棄される可能性があります。明らかに、自分のクラスを作成してアプリケーション内に広告を書く代わりにAdWhirlを使用していますが、私はその仕事をするためにAdWhirlに頼っていますが、コードを修正する方法はわかりません – RanLearns

答えて

4

さてさて、私はこれを回避する方法を見つけた...

あなたはそれがすべてあなた

を「変換するターゲットを選択」と呼ばれるメニューが表示されます「のObjective-C ARCに変換」をクリックするとドロップダウン矢印をクリックしてファイルのリストを展開し、すべてのAdWhirlファイルの選択を解除する必要があります。

XCodeは、残りのプロジェクトをARCに変換し、AdWhirlファイルに到達したときにエラーになることはありません。

+1

XCodeは、Kevinが選択解除したすべてのファイルに上記のコメントとして投稿した "-fno-objc-arc"を自動的に追加します – RanLearns