Ваше внутреннее впечатление на GCD правильное. Фактически, любой API, использующий блоки, отсутствует, если только вы не обусловите этот код для запуска только на Snow Leopard. Это имеет смысл, если код предназначен для поддержки функций, которые доступны только в Snow Leopard, но если это функция, которую вы также собираетесь поддерживать в Leopard, вы можете также просто использовать путь к коду Leopard во всех случаях, добавив специфичный для Snow Leopard Путь, который не дает видимых улучшений пользователю, просто усложнит ваш код и увеличит ваши затраты на тестирование.
Это особенно касается таких вещей, как управление потоками или GCD. Изменения требуют значительных изменений в архитектуре, это не просто:
if (snowLeopard) {
[NSSnazySnowLeopardClass doSomething];
} else {
[NSBoringLeopardClass doSomethingEquivalent];
}
В общем, если изменения настолько просты, Apple обрабатывает их внутри класса без изменения API. Другими словами, вопрос не в том, можете ли вы использовать более простой код управления потоками в Snow Leopard, а в том, почему вы должны в любом случае сделать сложную версию для Leopard. Дополнительный путь к коду - это дополнительный путь к коду, и пока вы не можете отказаться от поддержки Leopard, используя значительно отличающиеся API-интерфейсы в Snow Leopard (даже если их проще использовать, чем у Leopard), это просто дополнительная работа.
Я бы подумал, действительно ли ты хочешь нацелиться на Леопарда. Внедрение Snow Leopard было справедливым, Snow Leopard - это дешевое обновление, и из-за изменений в API будет большое давление на пользователей со стороны небольших разработчиков, использующих только приложения Snow Leopard. Единственная группа пользователей, которая собирается оставаться на Leopard в течение длительного времени, это те, кто не технически подкован (кто вряд ли установит много стороннего программного обеспечения), и те, кто все еще использует PPC Mac (кто еще не купил новый Mac). через 3 года, поэтому, вероятно, не покупают много программного обеспечения). Если это приложение, которое, как вы думаете, будет выпущено через 3-9 месяцев, я бы сказал, что использование Snow Leopard - это, вероятно, разумный вариант, который значительно сократит ваши затраты на разработку и тестирование.