Как установить CocoaPod, для которого требуется macOS 10.10, в проекте с целью развертывания 10.7?
Я работаю над существующим проектом MacOS, который использует 10.7 в качестве цели развертывания. Приложение поддерживает использование Dropbox (API v1 / Core API) довольно долгое время. Поскольку этот API будет закрыт через пару месяцев, я обновляю приложение, чтобы вместо него использовать API v2.
К сожалению, официальный Objectiv-C SDK требует 10.10 в качестве минимальной цели развертывания. Таким образом, при попытке установить SDK с помощью CocoaPods я получаю следующую ошибку.
[!] Невозможно удовлетворить следующие требования:
ObjectiveDropboxOfficial
требуетсяPodfile
Спецификации, удовлетворяющие
ObjectiveDropboxOfficial
зависимости были найдены, но они требовали более высокой минимальной цели развертывания.
Конечно, очевидным решением было бы обновить весь проект, чтобы использовать 10.10 в качестве цели развертывания. Тем не менее, приложение прекрасно работает со старыми версиями macOS, и многие пользователи все еще используют их.
Можно ли в любом случае включить SDK, оставить 10.7 в качестве цели развертывания и использовать функции SDK, только если приложение работает на 10.10+?
Таким образом, существующие пользователи будут терять только функции Dropbox, но при этом смогут использовать все остальные функции. Это все равно будет лучше, чем исключать этих пользователей из всех будущих обновлений.
1 ответ
Тем временем я смог найти ответ:
Хотя нет проблем изменить цель развертывания в Podfile на 10.10 и, таким образом, включить SDK в проект, который все еще использует 10.7 в качестве цели, это приложение будет аварийно завершать работу, как только оно будет выполнено в macOS < 10.10.
Не работает проверка версии macOS и использование только SDK/ кода в 10.10+. Приложение автоматически загрузит SDK/framework, и это приведет к сбою.