#ios #xcode #github #version-control
#iOS #xcode #github #контроль версий
Вопрос:
Во-первых, я знаю, что это проблема конфигурации, потому что мой код создавался и работал нормально, прежде чем я синхронизировал свой проект с GitHub. Похоже, что система управления версиями Xcode испытывает проблемы с распознаванием некоторых моих файлов, и я получаю Use of unresolved identifier...
ошибки, когда используются инициализаторы этих файлов, и они работали раньше. Я использую последние версии Xcode и OS X, и это шаги, которые я предпринимал до и после возникновения проблемы…
ПЕРЕД:
-
После нескольких раундов реализации и фиксации с локальным репозиторием по умолчанию я создал и запустил приложение несколько раз без каких-либо проблем.
-
Я создал новый репозиторий на GitHub, зафиксировал (с помощью push на пульты дистанционного управления), и все это отлично перешло на GitHub, а также создавалось и работало в симуляторе.
-
Чтобы организовать репозиторий (в соответствии с «группами», которые я создал в Xcode) Я провел небольшое исследование, а затем добавил вложенные каталоги в папку моего проекта. Я повторно открыл Xcode и исправил пути к файлам. Некоторые из них использовались, но некоторые продолжали отображаться
?
(хотя я все еще мог получить доступ к коду просто отлично), и я получил соответствующиеMissing Files...
предупреждения. -
Поскольку я не мог заставить новую иерархию работать (файлы w /
?
s, которые не были распознаны, не смогли быть переданы на GitHub), я попытался переместить файлы обратно. Это сработало для большинства, но для некоторых (которые, похоже, являются измененными файлами) Мне пришлось переименовать их, воссоздать новый файл, а затем вставить их содержимое (в этом, я думаю, и заключается проблема). Я смог зафиксировать все на GitHub (даже проблемные файлы выросли), но все предупреждения остались. -
Чтобы убрать предупреждения, я попытался запустить свои тесты, и именно тогда
Use of unresolved identifier...
появились ошибки, и, конечно, сборка завершилась неудачно.
ПОСЛЕ:
-
Я проверил, что все пути и целевые членства были правильными.
-
Когда это не сработало, я создал совершенно новый проект (хотя я добавил его в ту же рабочую область; не уверен, имеет ли это значение) и скопировал / вставил весь свой код в новые файлы. Я не перетаскивал файлы и не ссылался на них, и я не связывал новый проект с GitHub. Когда я приступил к сборке, те же ошибки были в тех же местах…
-
Я вышел из рабочей области и открыл новый проект отдельно. По-прежнему никакой радости.
Мы будем очень признательны за любую помощь или указания в правильном направлении.
Редактировать:
-
После некоторой помощи я попытался удалить ссылку и перетащить файл вручную, но это не решило проблему.
-
Я также проверил
Build Phases -> Compile Sources
, и все было указано нормально без флагов компилятора. Я удалил и повторно добавил из источников компиляции, проблема сохраняется.
Ответ №1:
Вы можете попробовать удалить referencer для отсутствующего файла класса в Xcode, затем добавить тот же файл в папку (щелкните правой кнопкой мыши добавить файл) из физического расположения рабочей области, это может помочь.
Комментарии:
1. Большое спасибо за ваш быстрый ответ. Повторное добавление файла таким образом сделало свое дело
2. ИСПРАВЛЕНИЕ: казалось, что ошибки устранены, но сборка вернула их обратно: (
3. Возможно, вы можете перейти к целевому проекту -> этапы сборки -> скомпилировать исходные тексты, проверьте там отсутствующий файл класса, он не должен быть красным.
4. Он указан черным цветом без ошибок компилятора. Я удалил и повторно добавил исходные коды для компиляции, но все равно никакой радости.
5. @testable импортируйте YourProjectName в свой тестовый класс. проверьте, что вы добавили целевое членство для каждого файла класса в свой тестовый проект
Ответ №2:
После третьей перестройки совершенно нового приложения со всеми новыми файлами я скопировал файлы заново, и на этот раз, похоже, все работает нормально. Пришлось устранить кучу проблем с подготовкой, чтобы убедиться, что это сработало (возможно, это было частью проблемы, но я сомневаюсь в этом), но с приложением все вернулось к норме. Единственное, что я сделал по-другому на этот раз, это не добавление нового проекта в ту же рабочую область.