コンテンツへスキップ →

iOS5より古いバージョンのプロジェクトファイルをARCに対応させる

iOS5からARC(Auto Reference Counting)という便利な機能が追加されました。これまでせかせかと書いていたretainやreleaseを記述しなくても、自動的にXcode側で管理してくれるというものです。しかし、そのままではiOS5以前に作ったファイルはARCが使えません。そこで、今回はiOS5以前のファイルでもARCを使えるようにする方法の紹介です。

既存のプロジェクトファイルの設定変更

まず、古いバージョンで作成したプロジェクトファイルを開いて、「Build Settings」タブを開きます。

「Compiler for C/C++/Objective-C」の箇所を「Apple LLVM compiler 4.0」にします。

Apple LLVMとは

Xcode における LLVM は従来のデフォルトコンパイラである GCC を置き換えるものとのこと。Xcode4からはこのLLVMになっているようです。
・コンパイルが速い
・コンパイルされたコードが速い
・エラーメッセージがわかりやすい
・他のツールと連携しやすい
参考:Xcode 4 でデフォルトになった LLVM って何?

次に「Objective-C++ Automatic Reference …」をYESにします。

retainやreleaseを一括変換

このままではファイル内に記述しているretainやreleaseはそのままなので、エラーが出ます。そこで便利な変換機能を使います。

チェックしたファイルが変換されることになるのですが、「Cannot Convert to Objective-C ARC」というようなエラーが出るようならその箇所をチェックして修正して、また変換にかけて…の繰り返しで解決していきます。

古いライブラリを利用していて、そのままのコードで使いたい場合はこちらを参考にどうぞ!
Xcodeでファイル別にARCの有効・無効を設定する方法

SHARE

スキルアップにMENTA

MENTAはいろんなプロに相談できるNo1メンターサービスです。

僕自身もプロダクトの壁打ち・相談にのっています。個人開発でもコードレビュー、セキュリティ面のチェック、デザイン、広告、コンテンツマーケ、SNS集客について相談する、など使えます。

YouTubeでも発信中!

PROFILE

入江 慎吾
あらゆるスキルが学べるパーソナルメンターサービスMENTAの代表/個人開発が好きでこれまでに30個ほどのWEBサービスやアプリを作ってきました/福岡のWEB制作会社勤務→フリーランスエンジニア→法人立ち上げ→M&A億単位の売却を経験。 (詳しいプロフィール)

カテゴリー: HACK 開発奮闘記