Отсутствие предупреждений о файлах, появившихся после обновления до 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 ниже <
Xcode
→ Preferences
→ Source Control
→ uncheck Enable Source Control
затем
Xcode
→ Preferences
→ Source Control
→ check 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
Это сработало для меня:
File
→ Source Control
→ Hide Working Copy Status
затем
File
→ Source Control
→ Show 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
, то это ключ к решению вышеупомянутого решения.