Отсутствующие предупреждения о файлах, появляющиеся после обновления до Xcode 4
недавно я обновился до Xcode 4 (это отличное обновление), но теперь я получаю некоторые предупреждения, которые я не получал раньше. Я просмотрел форумы и другие сообщения SO, но не нашел, как это исправить.
предупреждения, которые я получаю, являются предупреждениями уровня проекта для отсутствующего файла. Отображаемые файлы были удалены из представления навигатора проекта (также выбран вариант удаления из файловой системы). Однако он все еще, кажется, появляется как-то связан с проект, даже если файл больше не отображается в навигаторе проекта.
Я огляделся и не нашел, как я могу сказать Xcode, что эти файлы исчезли, перестаньте давать мне предупреждения. Вот скриншот, который я получаю в Xcode4, но никогда не получал в Xcode 3.
21 ответов
эти решения слишком сложно. Проблема в том, что вы удалили проект из файловой системы, но SVN все еще думает, что они есть. Отсоединение проекта от SVN будет работать, то же самое для удаления .SVN-папки, но это уничтожит ваш репозиторий!
гораздо проще открыть консоль, перейдите в папку ("cd / pathToYourFolder") и введите следующую команду:
svn delete nameOfMissingFile
Если имя файла включает @ характер (например: retina-специфическое художественное произведение), обеспечивает что имя файла прекращает с символом@:
svn delete nameOfMissingFile@2x.png@
для репозиториев GIT:
git rm nameOfMissingFile
В XCode 4.2.+ (возможно 4+), Вы можете избежать ручной работы и командной строки :
- выберите Project Project Navigator (Команда-1)
- выберите File-Source Control-Commit menu
- в левой панели, поверх нее у вас есть три значка, выберите средний вид одного файла
- вы увидите список всех отсутствующих файлов
- выберите все из них и щелкните правой кнопкой мыши-отменить изменения. Это восстановит все удаленные файлы из SVN server и поместите их в локальную папку SVN
- перетащите эти файлы в проект XCode (выберите Сортировать-Дата изменения в Finder, чтобы легко найти их)
- удалите эти файлы должным образом через XCode (выберите файлы и щелкните правой кнопкой мыши удалить)
- коммит проект
и вот это :)
все эти неприятные предупреждения ушли!
дополнительно для 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
Я решил это следующим образом:
- Проверьте путь к отсутствующему файлу.
- создать отсутствующие файлы в соответствующих местах в каталоге проекта
- добавить их в свой проект с помощью "добавить файлы в "проект" " и создавать ссылки только (не копировать файлы)
- предупреждения должны исчезнуть в этот момент.
- из Xcode удалите файлы, убедившись, что вы нажмете "удалить" вместо "удалить" по умолчанию Ссылка Только"
- ты молодец.
У меня была эта ошибка и я не нашел способа ее решить, кроме как создать пустой файл на этой позиции, а затем удалить его. Это произошло с файлами, которые я удалил из проекта, и очистка, построение, удаление вручную каталога производных данных также не работали. Я считаю, что это ошибка, и что это может быть довольно болезненно, если это происходит с более чем несколькими файлами.
У меня также была эта проблема, и, как описал user151215, это связано .папки svn.
У меня был старый .папка svn, не в самом проекте, а в родительской папке проектов.
нарушителя .в папке svn будет файл записей, содержащий отсутствующие файлы. Таким образом, Вы можете использовать Teminal и искать отсутствующую строку имени файла, например grep-lir BagController.m yourRootDevDir/*
проще, чем включение скрытых файлов в finder, просто используйте терминал. cd в соответствующий каталог и mv .svn ~/.Мусор
надеюсь, что это помогает!
я использовал следующий способ справиться с проблемой 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
Это очень просто,
Xcode -> Preferences -> Source Control -> uncheck Enable Source Control
и не забудьте сделать cmd+shift+k
нажмите Cmd + 7 после сборки и выберите последнее действие сборки. Это выглядит как старый добрый Xcode немного? :)
в моем случае
- Я просто открываю SvnX.
- все отсутствующие файлы отмечены красным цветом. Выберите и удалите их.
- затем все предупреждения Xcode исчезли.
the answer by Alex исправил мою проблему с отсутствующими файлами.
У меня была еще одна проблема (хотя она не связана с отсутствующими файлами, я чувствую, что это будет лучшая тема)
- мне нужно скопировать набор изображений в мой проект.
- Я просто создал группу (хотя я знаю, что группа не сопоставляется с физической папкой) и перетащил изображения в группу (выбран "копировать в.." опцион.)
- SVN статус показал все из них в "Ля."
- теперь, когда я вошел в фактическую файловую систему, я обнаружил, что все изображения скопированы в корневую папку моего проекта. Поскольку это выглядело не очень хорошо, я создал физическую папку внутри папки images В своем проекте и скопировал все добавленные изображения.
- SVN затем показал все файлы красным цветом.
- Я удалил ссылки всех красных файлов.
- С помощью опции "Добавить файл" я добавил изображения из вновь созданной папки.
- сейчас в SVN не удается показать статус файлов как "A", и я не могу их проверить.
- попробовал много шагов, таких как разгром их, добавив снова из другой папки и т. д., Но не повезло.
я исправил это, перейдя непосредственно в репозиторий, создайте новый каталог под изображениями, чтобы физическая папка теперь находилась на сервере SVN
затем я взял обновление источника и получил вновь созданный каталог внутри моей рабочей копии (хотя это не так добавлено в проект).
затем я скопировал изображения в этот каталог и добавил их в проект, используя опцию "Добавить файл", которая вернула мне статус "A", и я смог проверить файлы.
просто хотел поделиться этой.....потому что это отняло у меня много времени.
-anoop
Не удаляйте файл непосредственно в вашем .папки в Xcode. Удаление файлов из навигатора проектов xcode. (Правой кнопкой мыши на этом файле и выбрать "переместить в корзину").
теперь, чтобы очистить эту проблему, добавьте те же файлы в том же месте. И удалить из навигатора проекта.
Мне ничего не нужно было делать. Я ввел свой код и поднял его. Выключил в Xcode. Снова потянул вниз, и все сработало.
описание:
в моем случае был проект Xcode под названием Sample
в следующей папке /folder1/folder2
.
было внутри /folder1/folder2/Sample/
, который ожидается.
причины:
был еще один .git
файл в Родительском каталоге (/folder1
), что вызвало проблему. Возможно, папки были удалены, оставив после себя .git
файл
решение
rm -rf /folder1/.git
ключ
если перемещение вашего проекта в совершенно новое место устраняет проблему, где не было .git
файл в родительских каталогах вверх по иерархии, то это подсказка, что вышеуказанное решение может работать.