Файл модуля SQLite.swift был создан более старой версией компилятора

Я использую xcode всего около месяца. У меня установлен xcode 6, и я создал проект, в котором использовался проект SQLite.swift от stephencelis из GitHub. Все работало нормально, и я думаю, что сегодня утром я случайно загрузил обновление Xcode. Сейчас я на xcode версии 6.3. Теперь, когда я открываю свой проект и выполняю сборку, я получаю сообщение об ошибке в строке одного из моих модулей, которая «импортирует SQLite». Сообщение об ошибке гласит: «Файл модуля был создан более старой версией компилятора». Раньше у меня было более 50 ошибок в исходных файлах SQLite, поэтому я скачал последний zip для SQLite, открыл этот проект и выполнил сборку, которая работала без ошибок. Но теперь, если я вернусь и скомпилирую свой проект, я получу ошибку, упомянутую в теме.

Я думаю, что просто не знаю, как правильно использовать эти библиотеки из GitHub или это специфично для SQLite. Любая помощь будет принята с благодарностью.


person Wayne Fulcher    schedule 14.04.2015    source источник
comment
Вам нужно удалить файл SQlite и начать заново.   -  person BotMaster    schedule 14.04.2015
comment
Попробуйте очистить папку сборки и/или удалить папку DerivedData.   -  person stephencelis    schedule 14.04.2015
comment
Да, раньше это не работало, как я уже говорил ранее, я скачал zip-файл с GitHub, заменил все файлы из исходного проекта SQLite.swift новым и выполнил сборку проекта SQLite.swift. Возможно, вы имеете в виду что-то другое, но мне нужно больше деталей, чтобы понять, что вы имеете в виду.   -  person Wayne Fulcher    schedule 14.04.2015
comment
Что ж, мне удалось полностью удалить SQLite из моего проекта и удалить все файлы. Я повторно загрузил zip и скопировал папку/файлы в исходную папку. Затем я перетащил файл SQLite.xcodeproj в свой проект и выполнил оставшиеся шаги для новой установки. Я очистил и выполнил сборку. Я закрыл XCode, снова открыл, очистил и выполнил сборку. Теперь я просто продолжаю получать сообщение об ошибке: Нет такого модуля «SQLite». Так что, как будто моя новая установка не работает.   -  person Wayne Fulcher    schedule 14.04.2015
comment
Поэтому я закрыл свой проект в xcode, открыл проект SQLite и сделал очистку/сборку. Затем я закрыл XCode, снова открыл xcode и открыл свой проект. Теперь, когда я очищаю/собираю, он сообщает мне, что модуль SQLite имеет минимальную цель развертывания ios 8.3. Итак, в разделе «Цель развертывания/развертывания iOS» я изменил это на iOS 8.3. Теперь, после очистки/сборки, я получаю массу ошибок, таких как Невозможно вызвать «удалить» без аргументов. Итак, я исследовал, но, похоже, застрял в выяснении, почему мой синтаксис, который работал, больше не работает.   -  person Wayne Fulcher    schedule 14.04.2015
comment
Я буду рад помочь устранить неполадки, если вы захотите предоставить мне доступ к вашему репозиторию на GitHub. Отправьте мне электронное письмо (проверьте мой адрес в GitHub), и мы сможем поговорить там, если это поможет.   -  person stephencelis    schedule 15.04.2015
comment
О, что касается того, что я имел в виду ранее, я говорю вовсе не о вашем проекте, а о его продуктах сборки. Если вы удерживаете option/alt при выборе «Очистить», на самом деле это будет «Очистить папку сборки», которая выполняет более тщательную очистку вашего проекта. Вы также можете открыть приложение «Терминал» и запустить rm -fr ~/Library/Developer/Xcode/DerivedData/ для еще более тщательной очистки.   -  person stephencelis    schedule 15.04.2015


Ответы (1)


Короткий ответ:

Alt/Option + меню «Продукт» > «Очистить» (становится «Очистить папку сборки»)


Пытаясь применить этот ответ, я ранее установил для параметра "Определяет модуль" в разделе "Упаковка" значение "ДА" для параметров сборки моего приложения в Xcode 6.4. Затем, пытаясь применить этот ответ, я снова открыл свой проект в бета-версии Xcode 7.0. Именно тогда я получил ошибку.

Следуя ответу @stephencelis в комментариях, я удерживал Alt/Option, выбирая «Очистить» в меню «Продукт», чтобы очистить папку сборки. После повторной сборки ошибка «Файл модуля был создан более старой версией компилятора» исчезла. Тем не менее, мне все равно пришлось вернуться и применить ответы, на которые я ссылался выше, чтобы заставить другие вещи работать.

person Suragch    schedule 21.07.2015
comment
Большое спасибо, это спасло мой день! - person Nightmare_82; 06.10.2015