Я не могу комментировать конкретно iPhone SDK 3.0, так как он подпадает под действие NDA; есть форум для разработчиков на devforums.apple.com. Но Роджер Нолан наполовину прав, наполовину неправ. Он наполовину прав в том, что при обновлении любого SDK примеры и шаблоны в этом SDK обновляются, чтобы использовать его. То есть шаблоны могут специально использовать новые API в этом SDK, а код может просто не работать с более ранними SDK.
При этом вы можете сохранить шаблоны проектов из более ранних SDK и установить их в локальный каталог (например, ~ / Library / Application Support / Developer / Shared / Xcode / Project Templates) для использования с более поздними версиями Xcode. Сам формат шаблона проекта не изменился; шаблоны должны быть прямой и обратной совместимостью, но содержимое шаблонов обычно привязано к версии SDK, с которой он поставляется и позже.
г. Нолан наполовину ошибается в сборке с более ранними версиями ОС с более поздними SDK. Вот почему более ранние пакеты SDK поставляются с более поздними дистрибутивами (их нет просто для того, чтобы загрузка длилась дольше). Вы можете выполнить развертывание на более старых версиях ОС с более новым SDK, установив параметр сборки Deployment Target.
Есть небольшая деталь в том, что вам, вероятно, не следует развертывать производственные приложения, созданные с помощью предсерийного набора инструментов. Но как только версия N будет официально выпущена, вы сможете использовать ее набор инструментов для сборки для N-1, N-2 и т. Д.