Ответ на самом деле не такой тонкий. Objective-C 2.0 был своего рода прозвищем, используемым для идентификации версии Objective-C, которая была выпущена пару лет назад на WWDC.
Однако на самом деле есть несколько разных вещей, которые могут быть истолкованы как Objective-C 2.0.
Существует API, ABI, архитектура и платформа.
Во всех трех случаях Objective-C 2.0 может ссылаться на определенный набор доступных синтаксических функций, и он [почти] полностью одинаков для всех платформ и архитектур. Единственное отличие состоит в синтезированных иварах; доступно только на 64-битных Mac OS X и iPhone (но не в симуляторе).
ABI - или двоичный интерфейс приложения - относится к чему-то немного другому; как вещи хранятся в памяти и как обрабатываются исключения. Исключения на самом деле отличаются между 32-битной Mac OS X, 64-битной Mac OS X и iPhone. 32-битная Mac OS X имеет очень дорогую установку исключений, но дешевые броски. 64-битная Mac OS X имеет очень дешевую установку исключений и немного более дорогие броски (и они совместимы с C ++). iPhone имеет C ++ совместимые исключения, но не такие дешевые настройки.
Тогда есть архитектура; Между вариантами Intel, PPC и ARM есть небольшие различия.
Наконец, платформа; между платформами существуют дополнительные различия - в основном незначительные, более крупные, выраженные количественно вышеупомянутыми описаниями.
Итак, Objective-C 2.0 на самом деле ничего не значит. Это просто Objective-C , а тонкости языка определяются целевой платформой, архитектурой и версией операционной системы. Кроме того, выпуск набора инструментов Xcode может повлиять на компиляцию, поскольку некоторые ошибки могут быть исправлены, что может позволить использовать дополнительные функции в дополнительных обстоятельствах.
Итак, нет, правда .... просто используйте Objective-C .