Отсутствующие предупреждения файла, появляющиеся после обновления до Xcode 4 - PullRequest
165 голосов
/ 13 марта 2011

Я недавно обновился до Xcode 4 (который является отличным обновлением), но теперь я получаю некоторые предупреждения, которых раньше не получал. Я просмотрел форумы и другие SO сообщения, но не нашел, как это исправить.

Полученные предупреждения являются предупреждениями на уровне проекта для отсутствующего файла. Отображаемые файлы были удалены из представления навигатора проекта (также выбрав удаление из файловой системы). Тем не менее, он все еще кажется каким-то образом связанным с проектом, хотя файл больше не отображается в навигаторе проекта.

Я осмотрелся и не нашел, как я могу сказать XCode, что эти файлы исчезли, прекрати предупреждать меня. Вот скриншот, который я получаю в Xcode4, но никогда не получаю в Xcode 3.

Missing file warning Xcode 4

Ответы [ 21 ]

297 голосов
/ 21 марта 2011

Эти решения слишком сложны. Проблема в том, что вы удалили проект из файловой системы, но SVN все еще думает, что они там есть. Будет работать отключение проекта от SVN, то же самое для удаления папок .svn, НО, которые уничтожат ваш репозиторий!

Гораздо проще открыть консоль, перейти к своей папке ("cd / pathToYourFolder") и ввести следующую команду:

svn delete nameOfMissingFile

Если имя отсутствующего файла содержит символ @ (например, изображение, относящееся к сетчатке), убедитесь, что имя файла заканчивается символом @:

svn delete nameOfMissingFile@2x.png@

Для GIT-репозиториев:

git rm nameOfMissingFile

55 голосов
/ 27 марта 2012

В XCode 4.2. + (Возможно, в 4+) вы можете избежать ручной работы и командной строки:

  1. Выбрать проект Project Navigator (Command - 1)
  2. Выберите Файл - Контроль источника - Меню фиксации
  3. На левой панели, сверху которой у вас есть три иконки, выберите среднюю - Просмотр файла
  4. Вы увидите список всех отсутствующих файлов
  5. Выберите все из них и щелкните правой кнопкой мыши - Отменить изменения. Это восстановит все удаленные файлы с сервера SVN и поместит их в локальную папку SVN
  6. Перетащите эти файлы в проект XCode (выберите «Дата сортировки, измененная в Finder, чтобы легко найти их)»
  7. Правильно удалите эти файлы через XCode (выберите файлы и щелкните правой кнопкой мыши «Удалить»)
  8. Зафиксируйте проект

И это все:)

Все эти мерзкие предупреждения исчезли!

Дополнительно для Xcode 6 +: После выбора «среднего значка» представления файла - вы можете установить флажок слева, и это пометит их как удаленные для SVN при следующем коммите!

50 голосов
/ 11 декабря 2013

В Xcode5 & Xcode6, у меня сработали следующие шаги

Xcode -> Preferences -> Source Control -> uncheck Enable Source Control

затем

Xcode -> Preferences -> Source Control -> check Enable Source Control

27 голосов
/ 14 марта 2011

Это как-то связано со скрытыми папками .svn в вашем проекте.

Я решил эту проблему, отсоединив проект от svn.

а. Откройте терминал и введите следующие команды:

defaults write com.apple.finder AppleShowAllFiles TRUE


killall Finder

Это позволит вам просматривать папки .svn внутри вашего проекта

б. Удалите все папки .svn в папках / подпапках вашего проекта

с. Повторно активируйте скрытые файлы:

defaults write com.apple.finder AppleShowAllFiles FALSE

killall Finder

d. Теперь ваш проект отделен от svn, и у вас больше не возникает проблем со сборкой.

е. Повторно добавьте свой проект в SVN или что-то еще.

Я сам начинающий, и это был мой способ решения этой проблемы, поэтому я не уверен, что это лучший путь. Во всяком случае, проблема была решена.

9 голосов
/ 29 октября 2012

Это сработало для меня:

File -> Source Control -> Hide Working Copy Status

, затем

File -> Source Control ->Show Working Copy Status

6 голосов
/ 09 ноября 2011

Я решил это следующим образом:

  1. Проверьте путь к отсутствующему файлу.
  2. Создайте отсутствующие файлы в соответствующих местах в каталоге вашего проекта
  3. Добавитьих в ваш проект с помощью «Добавить файлы в« проект »» и создавать только ссылки (не копировать файлы)
  4. На этом этапе предупреждения должны исчезнуть.
  5. Изнутри Xcode удалить файлыубедившись, что вы нажимаете «Удалить» вместо значения по умолчанию «Удалить ссылку только»
  6. Готово.
4 голосов
/ 14 марта 2011

У меня была эта ошибка, и я не нашел способа ее исправить, кроме как создать пустой файл в этой позиции и затем удалить его. Это произошло с файлами, которые я удалил из проекта, и очистка, сборка, удаление вручную каталога Derived Data тоже не работали. Я считаю, что это ошибка, и она может быть довольно болезненной, если она случается с несколькими файлами.

4 голосов
/ 22 марта 2012

Войдите в соответствующий каталог и запустите:

svn revert fileName
4 голосов
/ 14 марта 2011

У меня тоже была эта проблема, и, как описал пользователь 151215, это связано с папками .svn.

У меня была старая папка .svn, не в самом проекте, а в родительской папке проектов.

в папке .svn, в которой есть ошибки, будет файл записей, содержащий ваши отсутствующие файлы. Таким образом, вы можете использовать Teminal и искать пропущенную строку имени файла, например, grep -lir BagController.m yourRootDevDir / *

проще, чем включить скрытые файлы в Finder, просто используйте терминал. перейдите в соответствующий каталог и mv .svn ~ / .Trash

Надеюсь, это поможет!

3 голосов
/ 28 июня 2012

Отключение SVN в XCode предотвращает эти проблемы (при условии, что вы управляете своим хранилищем с помощью другого инструмента SVN).Смотрите этот вопрос:

Можете ли вы отключить интеграцию управления версиями в Xcode 4?

Очевидно, что это может быть нецелесообразно, если есть другие проекты Xcode, которые вы делаете хочу использовать SVN с.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...