Ответ 1
У меня была та же проблема, но мне удалось исправить ее:
- Очистите проект.
- Закрыть проект и выйти из Xcode.
- Очистить полученные данные.
- Откройте проект снова, и он там, все красиво и работает.
Я сделал это на Xcode 8 с помощью Swift 3.
С новым Xcode 8 beta 4
мы начали испытывать следующую ошибку во время фазы сборки CopySwiftLibs
:
Effective srcDirs: {(
<DVTFilePath:0x7f865961e970:'/Volumes/Data/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator'>,
<DVTFilePath:0x7f8657d02b20:'/Volumes/Data/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/lib/swift/iphonesimulator'>
)}
error: Следующие двоичные файлы используют несовместимые версии Swift:
/Users/пользователь/Проекты/git/iphone-swift-1/DerivedData/myApp/Build/Products/Debug-iphonesimulator/myApp.app/myApp
/Users/пользователь/Проекты/git/iphone-swift-1/myApp/myAppApi.framework/myAppApi
myAppApi - это подпроект в рабочей области, который содержит некоторый общий код (он использует Alamofire
).
Одно замечание: первоначально мы преобразовали проект из Swift 2.2 в Swift 2.3, а затем вручную обновили до 3.0.
Кто-нибудь знает, что может вызвать эту ошибку?
Спасибо!
У меня была та же проблема, но мне удалось исправить ее:
Я сделал это на Xcode 8 с помощью Swift 3.
Вы также можете получить эту проблему, если у вас сценарий кода вашего контейнера - Swift 2.3, и вы создаете новое расширение в Xcode 8.
Чтобы решить описанный выше сценарий...
Примечание.. Весь код должен быть в той же быстрой (совместимой) версии для компиляции без сбоев.
Как говорится, один из способов решения этой проблемы - придерживаться Swift 2.3, а затем установить для своей цели расширения Использовать устаревшую версию языка Swift в "Да".
Вы можете найти эту опцию, когда Xcode 8 открыт следующим образом:
Примечание. Возможно, вам придется исправить переопределенный код в шаблонах расширения, поскольку они были первоначально в Swift 3.
Прежде чем что-либо делать...
(Если вы можете использовать Xcode 8.0-совместимый с вашим проектом)
По умолчанию ваш проект установлен на Xcode 3.2-совместимый
Попробуйте создать свой проект.
Если это не сработает, попробуйте другие предлагаемые решения.
Примечание. Вы даже можете вернуться к совместимости с Xcode 3.2 после исправления ошибки, и она должна работать, но у вас могут возникнуть другие проблемы с компоновкой позже.
Рекомендация: Перед отладкой существующего проекта. Закройте проект и запишите копию файла проекта, если вы не создали репозиторий Git при создании своего проекта.
Я исправил это, удалив встроенные двоичные файлы в проекте. Для этого:
Примечание 1: Вам не нужно удалять их из раздела "Связанные рамки и библиотеки" (они должны быть автоматически удалены при удалении из "Встроенных двоичных файлов" ).
Примечание 2: У меня много зависимостей, и я использую CocoaPods. У меня ничего нет в "Встроенных бинарных файлах" и только "Pods_ [YourApplicationName].framework" в разделе "Связанные рамки и библиотеки".
У меня были разные библиотеки, интегрированные через carthage. Однако во время процесса я переключил некоторые из них на cocoapods и забыл удалить старый .frameworks
файл из целевой цели проекта.
Удаление их разрешило ошибку сборки.
У меня просто была такая же проблема после обновления Xcode до 9.3. Я исправил проблему, просто очистив папку сборки. Вы можете сделать это с помощью Command-Option-Shift-K или в меню параметров "Продукт" → "Очистить" (см. Скриншот)
У меня такая же проблема. Моим решением было переименовать myApp -directory в myAppmyApp, а затем я снова запустил приложение. Было создано новое приложение myApp -directory, и приложение снова отлично заработало на моем iPhone.
Разница в вашей ситуации может заключаться в следующем: имя моего приложения, скажем, "myApp" в каталоге "DerivedData", было связано с myApp: "-"
Может быть, это поможет вам.
Вам нужно переключить все зависимости на swift 3
.
В вашем случае Alamofire необходимо переключить на swift 3
branch
У меня было такое же сообщение об ошибке после добавления версии фреймворка Swift 3.
Моя цель framework search path
по-прежнему была настроена так, чтобы найти версию с быстрым 2 и быстрым 3 той же структуры, поэтому мой проект застрял в быстрой версии 2.3.
Для меня решение заключалось в том, чтобы удалить прежнюю структуру из моего каталога проекта и удалить ссылку на папку из framework search path
.
Итак, я просто опубликую решение, которое я нашел до сих пор после отладки часа.
Так как Xcode 9, это можно отследить в журнале компилятора.
Если вы прокрутите страницу вниз до конца журнала компилятора, вы обнаружите, что эта проблема вызвана сбоем проверки типов.
Только что это всплыло после обновления до Xcode 10.2... один из моих модулей использует Swift. Исправить было:
pod repo update
rm -rf Pods
pod install