Pebble Coding

ソフトウェアエンジニアによるIT技術、数学の備忘録

Objective-Cの新文法対応OSバージョン

Objective-Cには次々と新しい文法が追加されていますが、 レガシーなOSバージョンでどこまで対応しているのかいまいち分かりづらいです。
Appleの資料に一覧を見つけましたが分かりやすくするため、勝手に日本語化してみました。怒られたら削除します。
OSXの32bitが非対応なところが多いのがハマりどころです。

Appleのオリジナル資料はこちら
https://developer.apple.com/library/mac/releasenotes/ObjectiveC/ObjCAvailabilityIndex/

特徴

Xcode

OS X

iOS

ARC

Xcode 4.2

64bit システム

OS X v10.7 以上

iOS 5 以上

ゼロ弱参照をのぞくARC ("ARCLite”)

Xcode 4.2

64bit システム

OS X v10.6 以上

iOS 4 以上

@autoreleasepoolブロック

Xcode 4.2

Using ARC: 64bitシステム OS X v10.6 以上

Using MRR: 全て

Using ARC: iOS 4 以上

Using MRR: 全て

@propertyインスタンス変数とアクセサメソッドのデフォルトsynthesis

Xcode 4.4

64bit システム

iOS 4 以上

クラスエクステンションと@implementation ブロック内でのインスタンス変数

Xcode 4.2

64bitシステム

全て

@implementation ブロック内での前方メソッドプロトタイプの不必要

Xcode 4.3

全て

全て

NSNumber, NSDictionary and NSArrayリテラル

Xcode 4.4

全て

全て

@YES,@NO

Xcode 4.4 かつ OS X 10.8 以上の SDK

Xcode 4.5 かつ iOS 6.0 以上の SDK

全て

全て

NSDictionary,NSArray添字指定

Xcode 4.4かつOS X 10.8 以上のSDK

Xcode 4.5かつiOS 6.0 以上のSDK

64bit システム

OS X v10.6 以上

iOS 5 以上

MRR:Manual Retain Release