Целью развертывания файла модуля является ios9.0 v9.0 с Xcode 7/Swift 2.

У меня есть проект, использующий некоторые модули, которые я установил через Cocoapods. Одним из них являются Charts. Чтобы перенести мой проект с Swift 1.2 на Swift 2, я прошел через мастер, который появляется при первом открытии проекта с помощью Xcode 7. Модуль Charts уже доступен для Swift 2, и я изменил свой Podfile, чтобы он содержал следующее чтобы перейти на эту более новую и еще официально не выпущенную версию:

pod 'Charts', :git => 'https://github.com/danielgindi/ios-charts.git'

Теперь рабочая область проекта отлично открывается в Xcode, за исключением одного сообщения об ошибке, от которого я не могу избавиться сам, и я не могу найти никакой полезной информации в Интернете:

сообщение об ошибке в Xcode

В том месте, где я импортирую свой модуль «Графики», появляется вышеупомянутое сообщение об ошибке. Во-первых, я убедился, что весь проект настроен на развертывание IOS 9.0, как это было раньше 8.0.

цель развертывания для проекта

Поскольку это не решило проблему, я сделал «Продукт» -> «Очистить», «Продукт» -> «Очистить папку сборки» и, наконец, удалил содержимое папки «Производные данные». Я также перезапустил Xcode после всех этих шагов, но ошибка все еще появляется.

Кто-нибудь знает, что я мог пропустить? Большое спасибо!


person Christian Anton    schedule 21.09.2015    source источник
comment
Вы тоже установили цель разработки для iOS 9?   -  person Loegic    schedule 21.09.2015
comment
Где вы берете библиотеку, судя по сообщению об ошибке, библиотека поставляется в комплекте с iOS9. Не могли бы вы попробовать получить исходный код и скомпилировать его для целевой iOS 8?   -  person Wingzero    schedule 22.09.2015


Ответы (7)



Если вам необходимо поддерживать более старые версии и у вас нет возможности просто обновить цель развертывания вашего проекта до требуемой версии, попробуйте понизить ее в самом модуле:

  1. Выберите проект Pods в Навигаторе проектов.
  2. Пройдитесь по каждому поду в списке TARGETS и измените его Deployment Target на нужную вам версию.
  3. Очистите и создайте свой проект

Работал на меня. показать снимок из Xcode

person roxanneM    schedule 13.05.2016

Для меня удаление DerivedData решило проблему. Кажется, что clean не стирает файлы swiftmodule.

rm -rf ~/Библиотека/Разработчик/Xcode/ПроизводныеДанные

person Paul Beusterien    schedule 11.10.2017

Просто поместите «платформа: ios, '8.0'» или любую другую версию в свой подфайл, и проблема будет решена.

person Paul Razvan Berg    schedule 22.06.2016

Вы должны обновить файл podspec до s.ios.deployment_target = '9.0'

person Aleš Oskar Kocur    schedule 20.09.2016

Вам нужно перейти к модулям и для каждой цели внутри нее установить ту же цель разработки, что и для основного проекта, очистить и построить снова.

person Dragisa Dragisic    schedule 15.01.2018

В моем случае, когда импортированный модуль Pod FOO дал сбой, потому что ему нужна была версия X:

  • для всех основных приложений/проектов/целей была установлена ​​минимальная цель развертывания >= X [OK]
  • У самого pod FOO была правильная >= X минимальная цель развертывания в его podspec [OK]
  • другой модуль, BAR, использовал модуль FOO, а минимальная цель развертывания BAR была меньше X. [ИСПРАВЛЕНО: отредактируйте спецификацию модуля BAR и увеличьте минимальную цель развертывания как минимум до X]

тл;др; возможно, вы используете модуль 1, который использует другой модуль 2; проблема в podspec pod 1

person xaphod    schedule 22.12.2017