Ошибка утилиты Info.plist: "Info.plist не может быть открыт, потому что такого файла нет"
Я сталкиваюсь с тем, что кажется распространенной ошибкой, поскольку Xcode не может найти мой файл Info.plist.
Я проверил ответы на эти два вопроса StackOverflow (Не удалось прочитать из Info.plist и Цель C/Ошибка Xcode: файл "Info.plist" не может быть открыт, потому что такого файла нет))... Я использую относительный путь, и файл plist находится в правильном абсолютном местоположении. Тип и расположение верны, как показано на рисунке ниже:
![plist path]()
Моя самая большая забота заключается в том, что это происходит сейчас в нескольких проектах, в том числе в том, что я успешно работал всего несколько часов назад! Кто-нибудь знает, как решить эту проблему?
EDIT Я также попытался переустановить XCODE и заменить файл plist. Xcode по-прежнему не может найти "info.plist".
ПРИМЕЧАНИЕ Я хотел добавить, что это было для Xcode 6.2.X(я не могу точно запомнить номер версии, но это был pre-Xcode 6.3.X).
Ответы
Ответ 1
Решение для этого конкретного экземпляра ошибки: "Info.plist не может быть открыт, потому что такого файла нет" было то, что я удалил все файлы в папке "Project Tests", но все еще был "Тесты проектов" перечислены в моих целях. После удаления цели "тесты" проект был успешно выполнен.
Ответ 2
Я также сталкиваюсь с аналогичной проблемой в xcode 7.0, но ни одно из вышеперечисленных решений для меня не работает, наконец, я получаю возможность решить эту проблему
- Перейти к: App Target
- См. раздел "Идентифицировать" и выберите "Plist"
Смотрите также скриншот
![введите описание изображения здесь]()
Наслаждайтесь
Ответ 3
Я столкнулся с подобной ситуацией, когда обновил свой XCode до 6.1. Мой проект содержал Info.plist, но я получил эту ошибку: "Файл" Info.plist "не может быть открыт, потому что такого файла нет".
Поэтому я посмотрел на цели моего приложения, которые были: "App" и "AppTests".
Я проверил поле "Упаковка" на вкладке "Настройки сборки".
Цель: 'App' → 'Build Settings' → 'Packaging' → 'Info.plist file (field)' - расположение должно быть правильным
Target: 'AppTests' → 'Build Settings' → 'Packaging' → 'Info.plist file (field)' - место должно быть примерно таким: "AppTests/Info.plist". Сохраните это поле empty.Delete location.
Кажется, Apple проверяет это местоположение по умолчанию для поиска Info.plist.
Очистите и создайте свой проект. Это будет работать. Работал для меня.
Ответ 4
XCode 10
Я знаю, что это было какое-то время, но я столкнулся с той же проблемой сегодня, и ответы, которые я нашел, были не очень ясны для меня, поэтому я решил сделать инструкцию со скриншотами.
1) Сначала откройте правую панель в xcode и нажмите на свой файл .plist:
![enter image description here]()
2) Во-вторых, выберите местоположение Relative to project
на правой панели и скопируйте ссылку под ней:
![enter image description here]()
3) В-третьих, перейдите к основным настройкам проекта, выберите цель и нажмите на вкладку "Настройки сборки":
![enter image description here]()
4) И наконец, введите Info.plist
в поле поиска, дважды щелкните по существующему пути и вставьте ссылку, которую вы скопировали ранее:
![enter image description here]()
В конце очистите проект Shift
+ Cmd
+ K
и перезапустите.
Ответ 5
Для меня андерсер для этой проблемы:
1.Включить Xcode
2.Go to./Users/You/Library/Developer/Xcode/DerivedDatap >
3.Удалить все из этой папки
4.Run Xcode
5.Build & Чистый
Версия Xcode: 6.4 (6E35b)
Ответ 6
В моем случае я отредактировал имя папки моего проекта xcode, чтобы это происходило после изменения нового имени папки (Проект → Цели → Настройки сборки → Упаковка → Имя Info.plist), после чего все работало нормально.
Ответ 7
перейти к целям. щелкните правой кнопкой мыши на тестовой цели. yourProjectTests и удалить его
Ответ 8
Как ответил @narner (ответ помечен как правильный), да, он может заставить работать код. Но здесь лучше решить проблему.
Мое предположение заключается в том, что вместо целей удаления тестов лучше, если мы изменим путь info.plist в рамках целевого теста.
Простые шаги: -
В проекте щелкните файл проекта → ProjectNameTests (по целям) → Настройки сборки- > Упаковка- > Info.plist Здесь вы измените путь к файлу.
Ответ 9
Переместите файлы, дважды щелкнув по этому значку:
![введите описание изображения здесь]()
У меня тоже была эта проблема за последние пару часов. Я загрузил свой проект github из более ранней версии. поисковые пути, похоже, запутались и должны были быть явно указаны, где находятся файлы.
Ответ 10
Один из самых странных вопросов, с которыми я столкнулся. В моем случае у меня нет никакого файла, я очистил производные данные, очистил модульный кеш, несколько раз очистил проект, перезапустил мой xcode, но ничего не работало для меня. В конце я перезапустил свой компьютер с единственной надеждой решить эту проблему, которая удивительно сработала для меня!!!
Ответ 11
Это мой первый пост, но я уже давно посвятил себя этому ученику.
Для меня проблема была в структуре, которую я добавил. Я знаю, потому что, добавляя его, у меня возникла проблема, и я постоянно тестирую во время разработки на симуляторе, и я открыл журнал симулятора и нашел, что проблема info.plist была связана только с каркасом, который я добавил. Чтобы дважды проверить, я удалил фреймворк и все ссылки на него и снова попытался построить симулятор, и все вернулось к норме. Итак, после того, как я пробовал все, что я читал здесь и в других сообщениях, и не смог решить проблему, мне захотелось бросить полотенце, но в прошлой попытке я сделал следующее, и он работал через 24 часа после:
-
Я удалил ссылки и полностью удалил рассматриваемую структуру из моего проекта Xcode.
-
Открытый симулятор, выберите Simulator/ Reset Содержимое и настройки..
-
В Xcode я сделал Product/Clean и, удерживая alt down, сделал Product/Clean Build Folder. Я думаю, что если вы делаете последнее из 2, Product/Clean не нужно, но я хватался за соломинку
-
Чтобы добавить фреймворк обратно в проект, я выбрал фазу target/Build Phases и добавил новую фазу Copy Files.
-
Сделано предназначение "Frameworks", TICKED "Копировать только при установке" перед добавлением рамки (эта часть выделена жирным шрифтом, потому что это единственное, что я изменил с моей первоначальной попытки) добавили фреймворк в фазу файлов копий.
Мое кровяное давление теперь нормальное.
Ответ 12
Возможное обновление XCode 9 - я столкнулся с этой проблемой после того, как переместил кучу файлов, в том числе Info.plist, в группу "Поддерживающие файлы". Я никогда не сталкивался с этой ошибкой до XCode 9, так что либо я делал это по-другому, когда перемещал/добавлял файлы в группу или что-то новое с обновлением w/XCode 9.
При создании группы/папки на основе выбранных файлов в XCode 9 она фактически перемещает файлы в новую папку в Finder. Таким образом, файл Info.plist был перемещен, и XCode/build/compile не смог его найти. Я следил за идеей nivritgupta выше, и она отлично работала (выберите "Выбрать файл Info.plist..." из категории "Идентификация" в общих настройках сборки). Затем я выбрал файл Info.plist из своего нового местоположения (который был) "перемещен" XCode 9, а затем мой проект был создан без проблем.
Боковое примечание: это также зафиксировало странное "Отсутствие предупреждения по умолчанию-568h @2x", которое я начал получать в это же время. Две птицы...
Ответ 13
Это работало для меня:
- Перейдите в файл info.plist вашего Finder.
- Перетащите его и добавьте в папку проекта (без копирования)
- Удалить предыдущую ссылку (только ссылку, не переходить в корзину)
- Попробуйте запустить его снова
Надеюсь, это поможет кому-то:)
Ответ 14
Ни одно из вышеупомянутых или других решений не сработало для меня. Я нашел решение после нескольких дней поиска.
ionic cordova platform remove ios
ionic cordova platform add ios
Я удалил и добавил платформу по той причине, что случайно удалил некоторые файлы в папке ios. Итак, он принес необходимые файлы.
Ответ 15
Также вы можете проверить целевые зависимости. Мне потребовалось 1 час, прежде чем я понял, что скопировал цель теста пользовательского интерфейса для цели A, но осталась зависимость. Таким образом, для сборки потребовался файл, который не был сопоставлен с целью B, а только с A.
Тест пользовательского интерфейса для цели B: зависимость для цели B и A
Ответ 16
Сначала вам нужно проверить в своей папке проекта, есть ли там info.plist.
Если нет, вам нужно скопировать файл info.plist из любого другого приложения в папку проекта и добавить файл в xcode. Это решит вашу проблему.
Ответ 17
Еще одна вещь для рассмотрения - снять флажок "Локализация" для info.plist в панели служебных программ, если вы ее проверили, а затем очистите проект, задача выполнена!
Ответ 18
Ответы выше не применимы к моему делу.
Это то, что я обнаружил.
Несколько недель назад я загрузил в папку "Мои файлы" библиотеку объектно-ориентированных библиотек github для моего проекта. Затем я добавил, что librabry с "Добавить файлы в...", и библиотека работает нормально.
Я регулярно удаляю старые файлы и папки из своих загрузок. Бывает, что я удалил папку, содержащую библиотеку objective-c! Поэтому Xcode жаловался, что не смог найти "Info.plist", который был в этой папке. Я пошел в корзину мусора, восстановил папку, и теперь все хорошо!
В следующий раз, когда я добавлю файлы в свою папку, я убеждаюсь, что файлы будут скопированы в проект.
Этот документ Apple оказал большую помощь: https://developer.apple.com/library/ios/qa/qa1649/_index.html
Удачи.
Ответ 19
Найдите "info.plist", используя ctrl + sht + f в вашем проекте.
Нажмите на результаты, и вы найдете его в качестве поля в разделе "Настройки сборки".
Убедитесь, что он содержит правильный путь к вашему файлу info.plist, как в иерархии проекта.
Ответ 20
При создании фреймворка с включенными тестовыми примерами убедитесь, что проект должен иметь два info.plist, один в основном проекте и другие в тестах. Теперь вы получаете эту ошибку, потому что может отсутствовать файл info.plist либо в проекте или в тестах.
Ответ 21
сделайте это только после прочтения всех других ответов на этой странице
Так что в основном другие ответы, вероятно, то, что вам нужно. Я пробовал их всех, и они не работали. Не потому, что они ошибаются, а потому, что я просто смотрю на неправильное место.
В общем случае сообщение об ошибке просто указывает: "Не удалось открыть файл" Info.plist "и т.д. и т.д. И я заметил, что все ответы на этой странице говорили о файле plist, относящемся к фактическому проекту (или его тестовым файлам, так или иначе). Я дважды проверял 1000 раз, и они определенно находились в нужном месте.
Что, когда я понял, что сообщение об ошибке просто не давало достаточной информации, у меня есть много файлов info.plist в моем проекте!
Поэтому я просто скомпилировал код вне xcode с помощью командной строки следующим образом:
xcodebuild -project project.xcodeproj -alltargets -configuration Debug
Это дало мне гораздо более подробное сообщение об ошибке:
...
builtin-copyPlist --convert binary1 --outdir/Users/Shared/dev/ios/customer-ios/build/Debug-iphoneos/theApp.app - theApp/Libs/STPopup/Info.plist /Users/Shared/dev/ios/customer -ios/theApp/Libs/STPopup/Info.plist:0: Ошибка: чтение данных: Файл "Info.plist" не может быть открыт, потому что такого файла нет.
** BUILD FAILED **
Не удалось выполнить следующие команды сборки: CopyPlistFile build/Debug-iphoneos/theApp.app/Info.plist theApp/Libs/STPopup/Info.plist
![введите описание изображения здесь]()
поэтому он рассказал мне, какой файл plist был проблематичным: Libs/STPopup/Info.plist
.. Я искал этот файл, и, оказывается, мне предоставили проект с отсутствующими libs:
![введите описание изображения здесь]()
Ответ 22
Не для info.plist, а для другого файла plist. Я столкнулся с той же проблемой. причина ошибки в том, что я случайно скопировал файл в папку, поэтому он создал символическую ссылку. и когда я удаляю оригинальный файл, эта ошибка выдается. Удаление файла символической ссылки решило проблему.
Ответ 23
Пример реального проекта со скриншотами, показывающими другой способ решения этой проблемы.
Использование Swift 4 и Xcode 9.
1-посмотрите на проблему ошибки сборки XCode, как показано на рисунке в Шаг 1 Визуальное описание', и он скажет вам, к какой подпапке в вашем проекте XCode принадлежит файл. В моем случае это NVActivityIndicatorViewExample/Info.plist. Шаг 1 Визуальное описание
2-Но вы также можете увидеть, где файл Info.plist должен находиться, перейдя в раздел "Настройки сборки" в области "Цель" ваших проектов XCode, как показано на рисунке в Шаг 2 Визуальное описание". Когда вы окажетесь там, загляните в раздел "Упаковка" и щелкните строку "Файл Info.plist", чтобы всплывающее окно показало, в какой папке должен находиться файл. Шаг 2 Визуальное описание
3-Найдите свой файл Info.plist, откройте его как файл исходного кода, щелкнув по нему правой кнопкой мыши. Обратитесь к шагу 3 Визуальное описание за помощью.
4-Скопируйте код и удалите файл Info.plist. Обратитесь к шагу 4 Визуальное описание за помощью.
5. Найдите папку внутри вашего проекта, в которой файл Info.plist должен идти в соответствии с настройками сборки, затем щелкните правой кнопкой мыши на этой папке и выберите "Новый файл". Обратитесь к шагу 5 Визуальное описание за помощью.
6. Убедитесь, что вы находитесь в разделе, посвященном типу приложения (в данном случае iOS), которое вы создаете, перейдите к ресурсам и выберите "Список свойств". Обратитесь к шагу 6 Визуальное описание за помощью.
7 -Введите "Info" в качестве имени файла без расширения, убедитесь, что для вашего приложения выбраны группа и цель, и нажмите "Создать". Обратитесь к шагу 7 Визуальное описание за помощью.
8-Откройте вновь созданный файл Info.plist как "Исходный код", вставьте предыдущий код XML, который вы скопировали из удаленного файла Info.plist, сохраните и запустите ваше приложение. (Вы также можете построить и очистить проект, если хотите.)
Ответ 24
Вот что у меня работает:
- закрыть xcode
- удалить dervivedData содержимое папки
- открыть xcode
- чистый продукт
- беги снова