Модуль, скомпилированный с быстрым 4.0, не может быть импортирован в swift 3.1
По-видимому, мне удалось создать свой проект в Xcode 9 beta, и теперь я получаю ошибку
Модуль, скомпилированный с помощью swift 4.0, не может быть импортирован в swift 3.1
Когда я запускаю проект в Xcode 8. Модуль в моем случае - Alamofire. Я попытался перезапустить Xcode, но ничего не возникает, как решить эту проблему?
Ответы
Ответ 1
У вас есть два варианта, которые вы можете сделать:
Clean
проект, а затем попробуйте re-build
ваше решение и посмотрите, работает ли оно.
Если он не работает, и вы все равно получаете одно и то же сообщение об ошибке, выполните следующие шаги и он должен работать для вас:
- Откройте
podfile
и удалите Alamofire
- Запустить
pod update
- Добавьте
Alamofire
в свой podfile
- Запустить
pod update
- Когда это будет сделано,
Clean
ваш проект и запустите его
Ответ 2
Такая же проблема здесь, но с использованием Карфагена. И вот ответ:
-
rm -rf ~/Library/Caches/org.carthage.CarthageKit/DerivedData
- удалите папку
Carthage
для проекта
- Обновление Карфагена:
carthage update --platform iOS
И вуаля!
Ответ 3
У меня была такая же проблема, и очистка папки сборки помогла:
Command+Option+Shift+K
или
Product
→ Option+Clean
Ответ 4
Просто удаление данных Derived для меня работало, вам не нужно снова устанавливать Pod install
Ответ 5
Я встретил эту проблему в проекте, где зависимость управляется Карфагеном. В моем случае я не установил инструмент командной строки в xcode (введите в xcodebuild -version, вы узнаете, настроите ли вы его или нет), поэтому первым шагом будет переход на XCode → Предпочтение → Местоположение затем выберите xcode, который вы хотите использовать в качестве инструмента командной строки. Затем вы можете выполнить шаги, описанные выше, для восстановления всех фреймворков, которые вы собираетесь использовать.
===============================================
Та же проблема здесь, но с использованием Карфагена. И вот ответ:
rm -rf ~/Library/Caches/org.carthage.CarthageKit/DerivedData
delete the Carthage folder for the project
Update Carthage: carthage update --platform iOS
===============================================
Затем не забудьте удалить старые ссылки в разделе "Связанные фреймворки и библиотеки" и перетащите все фреймворки из папки /Carthage под вашим проектом в "Связанные фреймворки и библиотеки".
Тогда вуаля!
Для тех, кто использует CocoaPods, я подозреваю (отказ от ответственности: я не сталкивался с этой проблемой в проекте, где CocoaPods является менеджером зависимостей), в решении будет выполняться следующая команда в терминале:
$ pod deintegrate
$ pod clean
$ pod install
где вам может понадобиться установить "деинтегратировать" и "очистить" инструмент для CocoaPod
$ sudo gem install cocoapods-deintegrate cocoapods-clean
подробнее см. сообщение Как удалить CocoaPods из проекта?
Ответ 6
Добавьте следующие строки в конец вашего файла подкачки:
post_install do |installer|
print "Setting the default SWIFT_VERSION to 4.0\n"
installer.pods_project.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.0'
end
installer.pods_project.targets.each do |target|
if ['SomeTarget-iOS', 'SomeTarget-watchOS'].include? "#{target}"
print "Setting #{target} SWIFT_VERSION to 3.0\n"
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
else
print "Setting #{target} SWIFT_VERSION to Undefined (Xcode will automatically resolve)\n"
target.build_configurations.each do |config|
config.build_settings.delete('SWIFT_VERSION')
end
end
end
end