Objective-C 2.0의 문법을 사용한 어플리케이션은 아래와 같은 제약을 가지게 된다.
- 개발환경은 Leopard로 한정됨.
- 빌드 시에는 런타임의 버전을 설정할 수 있지만 이 경우에도 Objective-C 2.0의 문법을 사용한 경우에는 Leopard 이전의 버젼을 지정할 경우, 에러가 발생한다.
추가로, 가베지콜랙션을 사용할 경우 이러한 제약사항은 증가된다. 런타임에서의 가베지콜렉션의 사용여부에 대해 필수, 서포트, 서포트 안함의 3가지 옵션이 있는데, 이것이 각각 가베지콜렉션을 On/Off 하는데 사용된다. 특정 프로그램의 플러그인을 작성할 경우엔 프로그램과 플러그인의 설정이 서로 동일해야 한다. (다만 서포트의 경우, 어떤 설정에도 사용할 수 있다.)
이상을 고려했을 때, 그리고 아래 포스팅에서 기술한 바와 같이, 현재 Leopard의 시장 점유율이 20퍼센트가 안되는 상황에서 (정확히는 19퍼센트) Objective-C 2.0의 문법을 사용한 어플리케이션을 만드는 것은 나머지 거대한 점유율의 타이거 등 Leopard 이전 버전의 사용자 시장을 포기한다는 것을 의미한다. 즉, 수익성을 고려했을 때, 현재 Objective-C 2.0의 문법을 도입한다는 것은 아직은 시기상조라 하겠다.