Я столкнулся с этой проблемой вскоре после обновления до Xcode 10. Но это была не проблема.
Я попытался изменить систему сборки, но это дало мне отдельную ошибку, которая означала то же самое.Обычно говорят: «Файл X не может быть найден».
Есть несколько вещей, которые нужно проверить, когда файл не может быть найден.
- Восстановленные ссылки Папка Apple делает эту замечательную вещь, где еслион обнаруживает ссылку на файл, который не существует, он добавляет эту ссылку в группу под названием «Восстановленные ссылки»
Это хорошо для Apple, но не всегда работает.
Этапы сборки Источники компиляции В этом списке могут быть метаданные для файла, который проект должен компилировать, но файл на самом деле не существует, и он пытается найти файл по указанному пути.В этом списке он будет затемнен, удалите их и повторно добавьте их, переключая целевые зависимости файла или удаляя его вручную и перетаскивая его.
Путь к файлу Дважды проверьте путь к файлучто ошибка распечатывается и путь к файлу в искателе.Вы можете легко видеть это, нажимая на файл в XCode и проверяя вкладку «Показать инспектор файла» (крайняя левая вкладка).Если эти пути верны, значит, у вас все хорошо!
Выключены файлы в вашем проекте, которые не находятся в восстановленных ссылках или выделены красным. Этот выводит меня из себя, потому что неясно, что произошло, нов основном, если вы зайдете в поисковик и переместите файл в другое место без обновления ссылки в проекте, это вызовет ошибку, поскольку файла там больше не существует.Единственное указание, которое я нашел для этого, - это то, что файл на вкладке «Навигатор проекта» (крайняя левая вкладка) слегка затемнен, но при переходе к удалению этого файла Xcode не предлагает удалить ссылку или отправить намусор.Это можно исправить, удалив файл и повторно добавив его в проект или перейдя на вкладку «Инспектор файлов» и щелкнув значок папки рядом с путем и изменив его в нужное место.
В любом случае, ошибка указывает на то, что он не может найти файл, переключение на старую систему сборки - бандит для более конкретной проблемы.Мы, как разработчики, понимаем, что компилятор просто хочет, чтобы артефакт был указан в конце пути к файлу.Где-то путь не правильный!Мы должны найти где это!
Моя проблема была решена с помощью пункта 4, указанного выше.Надеюсь, это кому-нибудь поможет.