Отсутствующие предупреждения о файлах, появляющиеся после обновления до Xcode 4

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

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

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

Missing file warning Xcode 4

21 ответов


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

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

svn delete nameOfMissingFile

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

svn delete nameOfMissingFile@2x.png@

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

git rm nameOfMissingFile


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

  1. выберите Project Project Navigator (Команда-1)
  2. выберите File-Source Control-Commit menu
  3. в левой панели, поверх нее у вас есть три значка, выберите средний вид одного файла
  4. вы увидите список всех отсутствующих файлов
  5. выберите все из них и щелкните правой кнопкой мыши-отменить изменения. Это восстановит все удаленные файлы из SVN server и поместите их в локальную папку SVN
  6. перетащите эти файлы в проект XCode (выберите Сортировать-Дата изменения в Finder, чтобы легко найти их)
  7. удалите эти файлы должным образом через XCode (выберите файлы и щелкните правой кнопкой мыши удалить)
  8. коммит проект

и вот это :)

все эти неприятные предупреждения ушли!

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


В Xcode5 & Xcode6, ниже шаги работал для меня

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

затем

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


это имеет какое-то отношение .SVN скрытые папки в вашем проекте.

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

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

defaults write com.apple.finder AppleShowAllFiles TRUE


killall Finder

Это позволит вам просмотреть .папки в SVN в проекте

b. Удалить все .папка svn в папках/подпапках проекта

c. Повторно включить скрытый файлы:

defaults write com.apple.finder AppleShowAllFiles FALSE

killall Finder

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

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

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


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

File ->Source Control ->Hide Working Copy Status

затем

File ->Source Control ->Show Working Copy Status


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

  1. Проверьте путь к отсутствующему файлу.
  2. создать отсутствующие файлы в соответствующих местах в каталоге проекта
  3. добавить их в свой проект с помощью "добавить файлы в "проект" " и создавать ссылки только (не копировать файлы)
  4. предупреждения должны исчезнуть в этот момент.
  5. из Xcode удалите файлы, убедившись, что вы нажмете "удалить" вместо "удалить" по умолчанию Ссылка Только"
  6. ты молодец.

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


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

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

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

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

надеюсь, что это помогает!


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

svn revert fileName

я использовал следующий способ справиться с проблемой tha:

запустите терминал и компакт-диск в каталог проекта. (например: cd / Users / Mauro / Src/ Pippero-1.2/)

затем введите следующую команду:

find . -name .svn -exec rm -rf { } \;

команда будет рекурсивно искать вызываемые файлы (и папку).svn и удалить их


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

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

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


Я использую svn и могу решить эту проблему с помощью

svn delete pathToMissingFile

который собирается удалить локальную копию svn отсутствующего файла, а также копию в удаленном репозитории.

или

svn revert pathToMissingFile

который собирается отменить изменения в отсутствующем файле, которые означают, что отсутствующий файл возвращается туда, где он был.


все вышеперечисленное не помогло решить ту же проблему, что и у меня. Делая некоторый поиск, я понял, что проблема, которую я имел, была связана с конфликтами SVN.

я узнал, что там были конфликты с помощью командной строки:

svn status

тогда все конфликтующие файлы должны были быть разрешены

svn resolved filename1 filename2 ...

после разрешения конфликтов предупреждения исчезли из Xcode


  1. commit и push изменения.
  2. Перезапустить Xcode.

Это очень просто,

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

и не забудьте сделать cmd+shift+k


нажмите Cmd + 7 после сборки и выберите последнее действие сборки. Это выглядит как старый добрый Xcode немного? :) enter image description here


в моем случае

  1. Я просто открываю SvnX.
  2. все отсутствующие файлы отмечены красным цветом. Выберите и удалите их.
  3. затем все предупреждения Xcode исчезли.

the answer by Alex исправил мою проблему с отсутствующими файлами.

У меня была еще одна проблема (хотя она не связана с отсутствующими файлами, я чувствую, что это будет лучшая тема)

  1. мне нужно скопировать набор изображений в мой проект.
  2. Я просто создал группу (хотя я знаю, что группа не сопоставляется с физической папкой) и перетащил изображения в группу (выбран "копировать в.." опцион.)
  3. SVN статус показал все из них в "Ля."
  4. теперь, когда я вошел в фактическую файловую систему, я обнаружил, что все изображения скопированы в корневую папку моего проекта. Поскольку это выглядело не очень хорошо, я создал физическую папку внутри папки images В своем проекте и скопировал все добавленные изображения.
  5. SVN затем показал все файлы красным цветом.
  6. Я удалил ссылки всех красных файлов.
  7. С помощью опции "Добавить файл" я добавил изображения из вновь созданной папки.
  8. сейчас в SVN не удается показать статус файлов как "A", и я не могу их проверить.
  9. попробовал много шагов, таких как разгром их, добавив снова из другой папки и т. д., Но не повезло.

я исправил это, перейдя непосредственно в репозиторий, создайте новый каталог под изображениями, чтобы физическая папка теперь находилась на сервере SVN

затем я взял обновление источника и получил вновь созданный каталог внутри моей рабочей копии (хотя это не так добавлено в проект).

затем я скопировал изображения в этот каталог и добавил их в проект, используя опцию "Добавить файл", которая вернула мне статус "A", и я смог проверить файлы.

просто хотел поделиться этой.....потому что это отняло у меня много времени.

-anoop


Не удаляйте файл непосредственно в вашем .папки в Xcode. Удаление файлов из навигатора проектов xcode. (Правой кнопкой мыши на этом файле и выбрать "переместить в корзину").

теперь, чтобы очистить эту проблему, добавьте те же файлы в том же месте. И удалить из навигатора проекта.


Мне ничего не нужно было делать. Я ввел свой код и поднял его. Выключил в Xcode. Снова потянул вниз, и все сработало.


описание:

в моем случае был проект Xcode под названием Sample в следующей папке /folder1/folder2.

было внутри /folder1/folder2/Sample/, который ожидается.

причины:

был еще один .git файл в Родительском каталоге (/folder1), что вызвало проблему. Возможно, папки были удалены, оставив после себя .git файл

решение

rm -rf /folder1/.git

ключ

если перемещение вашего проекта в совершенно новое место устраняет проблему, где не было .git файл в родительских каталогах вверх по иерархии, то это подсказка, что вышеуказанное решение может работать.