Xcode не отпускает файл ресурсов - PullRequest
4 голосов
/ 13 апреля 2010

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

⁃   Added a file to the project (both by choosing file - new file or dragging a file to the Xcode groups and files left column checking add to project folder if needed checkbox)
⁃   Compiled and launched the project in simulator
⁃   Verified that the file is present in myApp.app bundle, located in User/Library/Application/Support/iPhone Simulator/3.2/Applications/<application system number>/myApp.app and even in <my Xcode projects folder>/myApp/build/debugiPhonesimulator/myApp.app
⁃   Deleted the file from groups and files column in Xcode
⁃   Deleted the actual file with Finder in <my Xcode projects folder>/myApp/myFile
⁃   Deleted User/Library/Application/Support/iPhone Simulator/3.2/Applications/<application system number>/myApp.app and even <my Xcode projects folder>/myApp/build/debugiPhonesimulator/myApp.app
⁃   Emptied the trash
⁃   Verified that there is no reference to the file with Finder spotlight
⁃   Verified that there is no reference to the file with Xcode search
⁃   Rebuilt and relaunched the app in simulator
⁃   Verified that a brand new /Library/Application/Support/iPhone Simulator/3.2/Applications/<application system number>/myApp.app has been just created
⁃   Verified the content of /Library/Application/Support/iPhone Simulator/3.2/Applications/<application system number>/myApp.app bundle: the file is still there. Where the h. did Xcode take it from?

Я, конечно, упускаю что-то действительно очевидное. Любая помощь?

Ответы [ 7 ]

6 голосов
/ 13 апреля 2010

Вы проверили узел "Цели"? Если нет, то

  • Разверните узел "Targets" и приложение.
  • Должна быть фаза сборки под названием «Копирование ресурсов комплекта».
  • Убедитесь, что ресурс не находится в фазе.

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

2 голосов
/ 10 мая 2011

Clean раньше работал в xcode 3, но, похоже, ничего не делает в 4. Я обнаружил, что удаление приложения с тестового устройства, кажется, помогает заставить ресурс исчезнуть.

1 голос
/ 20 августа 2011

Я столкнулся с подобной проблемой. Xcode 4 продолжает жаловаться на отсутствующий файл ресурсов, даже если он был удален из проекта. Это приводит к ошибке сборки.

Вот как это решается:

1) Откройте файл .pbxproj. 2) Удалите все строки, ссылающиеся на файл ресурса, от которого вы хотите избавиться 3) Построй

1 голос
/ 28 июля 2011

Удалите приложение из симулятора и удалите с помощью искателя каталог вашего приложения в Library> Developer> Xcode> DerivedData.

1 голос
/ 09 мая 2011

У меня была такая же проблема. Однако решение, предложенное в ответе, не решило мою проблему. В Targets> Copy Bundle Resources я не вижу «призрачных» файлов. Я попытался выполнить полную очистку, удалить приложение и переустановить его, и у меня все еще есть файлы в моем приложении. Решение, которое я нашел, было вручную удалить содержимое папки: ~ / Library / Application \ Support / iPhone \ Simulator / 4.3 / Applications /

1 голос
/ 13 апреля 2010

Несколько дней назад столкнулся с подобной проблемой.

Оказалось, что под 3.2 симулятор создает несколько папок приложений, по одной для каждой установленной версии SDK. У меня есть:

~/Library/Application Support/iPhone Simulator/3.0
~/Library/Application Support/iPhone Simulator/3.1.2
~/Library/Application Support/iPhone Simulator/3.1.3
~/Library/Application Support/iPhone Simulator/3.2
~/Library/Application Support/iPhone Simulator/User

Если вы компилируете в другом SDK, он создает новый каталог приложения для приложения в папке для нового SDK. У меня был псевдоним к старой папке, и в итоге я посмотрел в неправильной папке версию приложения, на которую Xcode больше не ориентировался и, следовательно, никогда не менялся. IIRC, мне пришлось отследить новое приложение в соответствующей папке SDK.

0 голосов
/ 18 августа 2016

У меня была похожая проблема с файлом .scnassets - XCode Copy Resources только перечисляет файл .scnassets (настоящая папка, а не группа), но также запоминает и копирует его содержимое, даже если они были удалены. Преднамеренная чистка исправляет это. Более того, файлы, удаленные из файлов ghost .scnassets, копируются при каждом запуске приложения, а не в первый раз, когда они необходимы. Очистка ускорила мое время сборки на 300%!

...