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

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

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

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

Missing file warning Xcode 4

Ответ 1

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

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

svn delete nameOfMissingFile

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

svn delete [email protected]@

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

git rm nameOfMissingFile

Ответ 2

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

  • Выберите проект Project Navigator (Command - 1)
  • Выберите File - Source Control - Commit menu
  • В левой панели, поверх нее есть три значка, выберите средний - вид файла
  • Вы увидите список всех отсутствующих файлов
  • Выберите все из них и щелкните правой кнопкой мыши - Отменить изменения. Это восстановит все удаленные файлы с сервера SVN и поместит их в локальную папку SVN.
  • Перетащите эти файлы в проект XCode (выберите "Sort-Date Modified in Finder", чтобы легко найти их).
  • Удалите эти файлы с помощью XCode (выберите файлы и щелкните правой кнопкой мыши Delete)
  • Зафиксировать проект

И что это:)

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

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

Ответ 3

В Xcode5 и Xcode6 ниже <

XcodePreferencesSource Controluncheck Enable Source Control

затем

XcodePreferencesSource Controlcheck Enable Source Control

Ответ 4

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

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

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

defaults write com.apple.finder AppleShowAllFiles TRUE


killall Finder

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

б. Удалите каждую папку .svn в папках/подпапках проекта

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

defaults write com.apple.finder AppleShowAllFiles FALSE

killall Finder

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

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

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

Ответ 5

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

FileSource ControlHide Working Copy Status

затем

FileSource ControlShow Working Copy Status

Ответ 6

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

  • Проверьте путь к отсутствующему файлу.
  • Создайте отсутствующие файлы в соответствующих местах в каталоге проекта
  • Добавьте их в свой проект, используя "Добавить файлы в проект" и создайте ссылки (не копируйте файлы).
  • Предупреждения должны исчезнуть в этот момент.
  • Из Xcode удалите файлы, убедившись, что вы нажимаете "Удалить" вместо стандартного "Только удаление ссылок"
  • Все готово.

Ответ 7

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

Ответ 8

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

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

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

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

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

Ответ 9

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

svn revert fileName

Ответ 10

Я использовал следующий способ решения этой проблемы:

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

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

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

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

Ответ 11

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

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

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

Ответ 12

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

svn delete pathToMissingFile

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

или

svn revert pathToMissingFile

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

Ответ 13

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

Я выяснил, что были конфликты с использованием командной строки:

svn status

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

svn resolved filename1 filename2 ...

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

Ответ 14

  • Зафиксируйте и нажмите свои изменения.
  • Перезапустить Xcode.

Ответ 15

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

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

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

Ответ 16

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

Ответ 17

В моем случае

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

Ответ 18

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

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

  • Мне нужно было скопировать набор изображений в мой проект.
  • Я просто создал группу (хотя знаю, что группа не отображается в физическую папку) и перетаскивает изображения в группу (выбран вариант "Копировать в.." ).
  • Статус SVN показал все из них в "A".
  • Теперь, когда я вошел в фактическую файловую систему, я обнаружил, что все изображения, скопированные в корневую папку моего проекта. Поскольку он не выглядел хорошо, я создал физическую папку внутри папки с изображениями в моем проекте и скопировал все добавленные изображения.
  • Затем SVN показал все красные файлы.
  • Я удалил ссылки всех красных файлов.
  • С помощью опции "Добавить файл" я добавил изображения из вновь созданной папки.
  • Теперь SVN не показывает статус файлов как "A", и я не могу проверить их.
  • Пробовал много шагов, например, сбрасывая их снова из другой папки и т.д., но не было никакой удачи.

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

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

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

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

-anoop

Ответ 19

Не удаляйте файл непосредственно в вашей папке .xcode. Удалите файлы из xcode project navigator. (Щелкните правой кнопкой мыши на этом файле и выберите move to trash).

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

Ответ 20

Мне не нужно было ничего делать. Я передал свой код и подтолкнул его. Отключил XCODE. Вытащил его снова, и все просто сработало.

Ответ 21

Обзор:

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

Внутри /folder1/folder2/Sample/ был найден .git файл.

Корневая причина:

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

Решение

rm -rf /folder1/.git

Clue

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