"Не удалось найти входной файл сборки" Swift 4.2, Xcode 10.0
32 ответа
Перемещение папок по инспектору может привести к ошибке "Не удается найти входной файл сборки"
Чтобы это исправить, перейдите на вкладку "Общие" и в разделе "личность" снова выберите понравившийся список info.plist
надеюсь, это поможет
Не удается найти входной файл сборки
Как исправить эту проблему:
Зайдите в проект-навигатор, выберите ваш проект
Выберите вкладку Build Phases
В разделе Источники компиляции проверьте файлы, которые Xcode требует
Обратите внимание, что файлы имеют неправильный путь, и удалите их, нажав на значок минус
Повторно добавьте файл (ы), щелкнув значок плюса, и выполните поиск в проекте.
Продукт> Чистая папка сборки
строить
Наиболее частая ошибка при перемещении Info.plist в другую папку. Чтобы исправить эту ошибку, вы можете выбрать Info.plist и выбрать " Релевантно для проекта" в инспекторе файлов.
Следующим шагом перейдите в настройки сборки, найдите info.plist и исправьте путь к файлу.
Я получил эту проблему после разрешения конфликтов в project.pbxproj.
1: Удаление файлов "Build input files not found" из ресурсов BuildPhases -> Copy Bundle и добавление их обратно работало для меня.
Если указанный выше шаг 1 не работает, найдите папку "Восстановленные ссылки" в структуре вашего проекта, удалите файлы, которые вызывают эту проблему, и повторите шаг 1.
У меня была та же проблема с отсутствующим файлом контроллера представления, который не мог быть найден после клонирования проекта в новой папке. Я удалил контроллер представления, но компилятор продолжает запрашивать файл в пути, который больше не существует.
Я решил проблему следующим образом:
- Выберите цель проекта в Project-навигаторе,
- Перейти на вкладку "Фазы сборки"
- В разделе "Источники компиляции" проверьте файл, который запрашивает компилятор. Вы можете фильтровать по имени в правом верхнем углу экрана.
- Удаленный файл все еще находится в списке с неправильным путем, удалите его, нажав на значок минус. Вы должны сделать это для всех целей, которые вы можете иметь.
- Если файл все еще используется, добавьте его по новому пути, щелкнув значок плюса.
- Очистите папку сборки в меню продукта.
Это должно работать сейчас: D
(Проект Objective C / Версия Xcode 10.2.1 (10E1001))
Если файл сборки отсутствует, т.е. info.Plist: в Навигаторе проекта выберите (щелкните) Имя и значок проекта,
В средней панели щелкните целевой объект, щелкните синюю вкладку Общие, нажмите верхний значок / Цели и нажмите кнопку [Выбрать файл info.plist] во всплывающем окне, выберите файл info.Plist.
Это работает, если вы получаете сообщение "Не удалось найти входной файл сборки", а также есть красные файлы в инспекторе:
Откройте папку вашего проекта в Finder
Сделайте копию поврежденных файлов на рабочий стол
Удалите поврежденные файлы в Xcode, а затем закройте Xcode
Снова откройте Xcode и перетащите скопированные файлы в ваш проект Xcode
Это сработало для меня. Прежде, чем я получил сообщение об ошибке, я реорганизовывал файлы в файловом инспекторе, который дал мне это сообщение об ошибке и сделал файлы, которые я перемещал, стали красными. Надеюсь это поможет!!
Измените настройку сборки на устаревшую
Сначала откройте свой проект в XCode, дважды щелкнув
ios/<YourApp.xcodeproj>
Затем перейдите в Файл> Настройки проекта...
Измените систему сборки на устаревшую систему сборки в настройках проекта для каждого пользователя:
Для меня это сработало:
Щелкните название приложения под TARGETS
Build Settings -> Packaging -> Info.plist File
Там измените расположение файла Info.plist на новое.
DemoApp/Info.plist to DemoApp/Assets/Info.plist
Для меня сработало что-то совершенно другое:
Перейдите в Target>Build Settings>Architectures.
Мои допустимые архитектуры раньше:arm64 arm64e armv7 armv7s (по умолчанию)
Изменил на:armv7 i386 arm64 armv7s
Я пытался пойти Compile Sources
в Build Phases
вкладка и удаление и повторное добавление выбранного файла (а также очистка и восстановление), но это не сработало:(Вместо этого следующий ответ работал у меня, если вы получили сообщение об ошибке `` Входной файл сборки не может быть найден '':
- Удалите затронутые файлы в Xcode (я щелкнул правой кнопкой мыши -> Удалить в навигаторе)
- Повторно добавьте поврежденный файл (мой был
.mlmodel
), и я выбрал "Копировать элементы, если необходимо" в разделе "Место назначения". Cmd-shift-k
очистить, а затемCmd-b
построить и вуаля! Файл был распознан, и ошибка исчезла!
Надеюсь это поможет!
Я получил эту ошибку, когда переместил свой Info.plist в папку.
Когда я взял Info.plist из папки, у меня больше не было ошибки.
Выберите вкладку "Общие" и в разделе "личность" выберите список info.plist, который вы хотите разработать
В моем случае я получил эту ошибку, когда переименовал имя ViewController с помощью Refactor. Вхождения имени контроллера представления были изменены, а реальный файл - нет.
Я пытался сделать то, что сказал @ajji, но это не сработало. Поэтому я изменил имя настоящего файла. После этого все заработало как шарм
Я также столкнулся с той же проблемой при создании моего проекта xcode - "Входной файл сборки не может быть найден:" Причина: я переименовал весь свой проект, но не настройку сборки. Решение: в настройках сборки моего проекта -> Упаковка я обновил путь к файлу info.plist. Теперь работает нормально.
Если ваш файл (ы) не удалось найти - цвет значка бледный. И вы щелкаете по нему правой кнопкой мыши, и "Показать в Finder" не открывает Finder. Это означает, что имя вашего файла отличается от того, что вы видите в навигаторе.
Чтобы решить эту проблему, перейдите туда, где существует ваш файл, и измените его имя, чтобы оно было таким же, как то, что вы видите в навигаторе.
Если все остальное терпит неудачу:
- В Xcode. Удалите ссылки на соответствующие файлы из вашего проекта.
- Откройте файл project.pbxproj как файл в Xcode. Это в.xcodeproj
- Удалите все строки, содержащие названия указанных файлов. Сохранить.
- Вернемся в Xcode. Повторно добавьте файлы в свой проект в Xcode.
В моем случае файл был не по правильному пути, Xcode ожидал найти входной файл по пути, подобному /Users/Malloc/Projects/MyProject/Info.plist
в то время как на самом деле файл был расположен по другому пути, как /Users/Malloc/Projects/MyProject/Subfolder/Info.plist
,
Быстрое решение этой проблемы - просто щелкните правой кнопкой мыши на файле и выберите Show in Finder
, затем перетащите файл на правильный путь, ожидаемый Xcode.
Я получил эту ошибку, когда я переименовал имя ViewController с помощью "Refactor". Вхождения имени контроллера представления были изменены, но старая ссылка где-то еще существовала.
Удаление производных данных и чистая папка сборки работали для меня.
Вот как удалить производные данные:
Файл> Настройки рабочего пространства> Нажмите стрелку и удалите все папки внутри производных данных.
В моем случае это было связано с локализацией.
Вот как это исправить.
Как локализовать строку внутри файла iOS info.plist?
Обновление для проектов с пакетами Swift
Как возникли ошибки?
Я столкнулся с этой проблемой, когда импортировал пакеты Swift в свой проект, но позже был очищен, чтобы исправить несвязанную проблему кеширования приложений. Мой существующий проект был не локальным пакетом Swift, а проектом приложения для iOS.
Обратите внимание, что мы все еще можем столкнуться с той же проблемой в локальных проектах Swift Package.
В чем причина ошибок?
Пакеты Swift зарегистрированы и не упоминаются в
ModuleCache.noindex
подпапка. Таким образом, очистка папки приложения сама по себе нарушает разрешение зависимостей в Xcode для пакетов Swift.
Это вводящая в заблуждение ошибка сборки, поскольку в написанном вами коде приложения или в вашем графике разрешения зависимостей может быть все в порядке. Единственное, что требуется, - это обновить зависимости.
Как я могу исправить ошибки сборки?
Xcode теперь имеет удобные параметры в самой среде IDE для разрешения пакетов Swift. Эти параметры запускают новую проверку в
DerivedData
:
Мы можем использовать три варианта, как показано на изображении выше, в зависимости от нашего варианта использования:
- Reset Package Caches: Инициировать переустановку существующих зависимостей пакета с теми же версиями.
- Resolve Package Versions: Используйте этот параметр для обновления проверки пакетов при исправлении версий пакета для перекрестной совместимости (в настройках проекта).
- Update to Latest Package Versions: Используйте это, чтобы обновить все зависимости Swift Package до последних версий. Эта опция может быть локальным критическим изменением, если API изменится.
ПРИМЕЧАНИЕ . В документации Apple рекомендуется использовать Xcode для разрешения зависимостей при работе с проектами Xcode, за исключением CLT.
Другие решения
Мы также можем исправить ошибку, перезапустив Xcode, но я считаю, что этот шаг нарушает мой рабочий процесс и утомителен.
Если мы запускаем из командной строки (локальный исполняемый файл пакета Swift), мы можем придерживаться варианта, вообще не переходя к Xcode (исходный код ).
swift build
Однако в других проектах он не работает так легко из коробки.Использовать
xcodebuild
:xcodebuild -resolvePackageDependencies
Я предпочитаю оставаться в Xcode для простоты. Ваш пробег может отличаться.
В некоторых случаях, если вы Refactor существующих ViewController файлов или любые другие файлы с помощью правой кнопки мыши -> опции Refactor в Xcode рабочей области, то наcompiling this error will come
поскольку имя файла не изменяется в исходном месте, но ссылка обновляется, поэтому вам также необходимо вручную изменить старый файл на новое имя.
Входной файл сборки не может быть найден
Как исправить эту проблему?
Мой подход:
1. В Навигаторе проекта -> Файлы -> Добавить файлы в Lowes -> В окне Finder проверьте, в какую папку перемещен этот потерянный файл, на который указывает ссылка, и узнайте у членов вашей команды, переместил ли его кто-либо по какой-либо причине. Если это произошло по ошибке затем выполните следующие шаги
2. В навигаторе проекта нажмите непосредственно на файл, вызывающий проблему. Это тот же файл, который XCode показывает как не найденный по ошибке. Очевидно, что этот файл потерял ссылку, и нам нужно восстановить его.
3. значок папки Swift Bird отображается светло-красным цветом, что указывает на потерянную ссылку.
4. щелкните его правой кнопкой мыши и удалите
5. Далее в Навигаторе проекта -> Файлы -> Добавить файлы в Lowes -> Просмотр в Finder перейдите в папку, в которую перемещен указанный файл, и нажмите кнопку ДОБАВИТЬ во всплывающем окне.
6.Теперь, если вы посмотрите на Project Navigator, этот значок быстрой птицы появится ярко-красным, но вы также найдете дополнительный файл с тем же именем в верхней части Project Navigator.
7.Убедитесь, что у вас есть этот файл в правильной папке, если не переместите его в нужную папку
8. Теперь щелкните правой кнопкой мыши, чтобы удалить самый верхний избыточный файл, здесь не выбирайте параметр "Переместить в корзину". Просто выберите параметр "Удалить ссылки"
Это устранило мою проблему.
Моя проблема заключалась в отсутствующем файле SettingsController.
Я скопировал файл из проекта A в проект B, но забыл поставить галочку
Copy items if needed
. Без моего ведома пару недель спустя, когда я удалил проект A, файл SettingsController в проекте B был удален вместе с ним. После этого в проекте B ошибка
Build input file cannot be found ... path/Folder/toSomeFile
был показан.
Чтобы исправить это, я закрыл Xcode, перешел в основную папку, в которой он находился, открыл папку и щелкнул правой кнопкой мыши по синему значку Xcode с расширением.
.xcodeproj
, то я выбираю
Show Package Contents
Оттуда я дважды щелкнул значок
Как только файл был открыт, я нажал команду + f и в поле поиска ввел часть пути ошибки.
path/Folder/toSomeFile
Мне понадобилось 1-2 строчки кода, которые выглядели так
Как только я удалил эти 1-2 строки, когда я вернулся к проекту B и открыл его, ошибка исчезла.
Просто для большей ясности точный путь ошибки был
whogotgame_42/whogotgame/Controllers/SettingsController.swift
. Так вот что я точно ввел в
project.pbxproj
поле поиска, чтобы добраться до тех 1-2 строк, которые вы видите на картинке.
Отрегулируйте путь к файлу в соответствии с тем, что указано в ошибке Xcode
Мне просто нужно было открыть проект в Finder и перетащить соответствующие файлы в папку проекта.
Когда я впервые проверил код из Git, я столкнулся с той же проблемой для нескольких файлов pod. Обновление файла pod решило мою проблему.
- Откройте папку проекта в окне терминала
- Запустите "обновление модуля"
- Очистите XCode и запустите.
Я получил эту ошибку, когда поместил файл Info.plist в папку. Затем, когда я извлек файл для общего просмотра, ошибка исчезла.
- Перейти к навигатору проекта.
- Нажмите на проект.
- Нажмите на цели.
- Перейти к настройкам сборки.
- Поиск Prefix.pch.
- Измените местоположение этого файла (введите обновленное местоположение).
Это решит проблему как мою.
Была такая же проблема с быстрыми файлами. Выберите файлы, которые не распознаны, и нажмите Удалить Remove Reference
вариант. Щелкните правой кнопкой мыши в папке и снова добавьте файлы.