Я зіткнувся з цією проблемою незабаром після оновлення до Xcode 10, але це не було проблемою.
Я спробував змінити систему збирання, але це дало мені окрему помилку, яка означала те саме. Взагалі кажучи, "Файл X знайти не можна".
Є кілька речей, щоб перевірити, коли файл неможливо знайти.
- Відновлені посилання Папка Apple робить цю приємну річ, коли якщо вона виявить посилання на файл, який не існує, додасть це посилання в групу під назвою "Відновлені посилання"
Це приємно від Apple, але це не завжди працює.
Фази складання джерел компіляції У цьому списку можуть бути метадані для файлу, який проект передбачає компілювати, але файл насправді не існує, і він намагається знайти файл у вказаному шляху. У цьому списку вони будуть затемнені, видалені та повторно додані, переміщуючи цільові залежності файлу або видаляючи його вручну та перетягуючи.
Шлях до файлу Двічі перевірте шлях файлу до друку помилки та шлях до файлу у пошуку. Це можна легко побачити, натиснувши на файл у коді Xcode та встановивши прапорець "Показати інспектор файлів" (сама ліва вкладка). Якщо ці стежки правильні, то ви добрі!
Затемнені файли у вашому проекті, які не містять відновлених посилань або червоний. Цей мене озлобив, тому що це не очевидно щодо того, що сталося, але в основному, якщо ви зайшли в пошук і перемістили файл в інше місце з оновленням посилання в проекті це призведе до помилки, оскільки файл там уже не існує. Єдине вказівка, яке я знайшов для цього, - це те, що файл на вкладці «Навігатор проектів» (ліва частина вкладки) дуже злегка затемнений, але коли ви збираєтесь видалити цей файл, Xcode не пропонує вам видалити посилання або надіслати на сміття. Ви можете виправити це, видаливши файл та повторно додавши його до проекту або перейшовши на вкладку «Інспектор файлів» та натисніть на значок папки поруч із контуром та змініть його на потрібне місце.
Так чи інакше, помилка вказує на те, що він не може знайти файл, перехід на стару систему складання є основою для більш конкретної проблеми. Ми як розробники розуміємо, що компілятор просто хоче, щоб артефакт був перелічений в кінці шляху файлу. Десь шлях невірний! Ми повинні знайти, де це!
Мою проблему було вирішено з переліченого вище пункту 4. Сподіваюся, це комусь допомагає.