Как установить 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, и это приведет к сбою.

Другие вопросы по тегам