Xcode не может открыть Info.plist - ошибка говорит "нет такого файла"

Я переключился на Xcode 4 и загрузил мой проект, который отлично работал в Xcode 3. Когда я запустил его, я получаю сообщение об ошибке:

Файл "Info.plist" не может быть открыт, потому что такого файла нет.

Я просмотрел файл в Xcode, и он есть. Так почему он не может быть открыт?

Ответ 1

Недостаточно наличия файла в папке проекта Xcode. Вы подтвердили, что файл правильно указан в настройках целевой установки приложения, чтобы он правильно скопировал его в пакет приложений? Это не совсем то же самое, что и стандартный ресурс (т.е. Он не стал членом цели в настройках флажков целевого членства), а скорее настройкой сборки из-за его важности в правильно отформатированном комплекте.

Перейдите к проекту (выберите его в Навигаторе проектов), выберите цель приложения в списке целей, затем перейдите на вкладку "Настройки сборки". В разделе "Упаковка" убедитесь, что "Info.plist File" правильно установлен в имя местоположения/файла.

Ответ 2

перейти к целям. щелкните правой кнопкой мыши на тестовой цели. yourProjectTests и удалить его

Ответ 3

Для меня проблема заключалась в том, что некоторые из файлов .storyboard имели разные цели развертывания после слияния. Исправлено это, установив все файлы раскадровки в "Цель развертывания проекта". введите описание изображения здесь

Ответ 4

Xcode 8

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

введите описание изображения здесь

Ответ 5

Для меня это произошло в результате включения локализации файла plist (чтобы указать специфический для языка идентификатор приложения на трамплине).

В настройках целей > сборки > упаковкa > файл info.plist я изменил путь от AppName/AppName-info.plist до AppName/Base. lproj/AppName-info.plist, и все работало должным образом.

Помните, что его lproj как в маленьком L, а не в капитале I.

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

Ответ 6

в Xcode 4.6, если appname-Info.plist не отображается в проекте → target/info, перейдите на вкладку итоговых данных, и он попросит файл appname-Info.plist. Выберите правильный файл из предложений.

Ответ 7

В разделе "Цели" > "Упаковка" > "Файл Info.plist" убедитесь, что путь к файлу верен.

Ответ 8

В моем случае файл был там, но искажен. Если вы недавно отредактировали свой Info.plist в текстовом редакторе, отмените это изменение и повторите попытку, не нарушая правильность разметки.

Ответ 9

Для меня проблема заключалась в том, что ошибка ссылалась на Info.plist из библиотеки, которую я использовал, а не на фактический .plist файл из проекта.

Возможно, это поможет кому-то в будущем.

Ответ 10

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

<key>NSAppTransportSecurity</key>

Вместо правильного, как показано ниже

<true/>
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>some-service1.com</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <false/>
        </dict>
        <key>some-service2.com</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <false/>
        </dict>
    </dict>
</dict>

У меня был этот

<dict>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>some-service1.com</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <false/>
        </dict>
        <key>some-service2.com</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <false/>
        </dict>
    </dict>
</dict>

Хотя некоторые из онлайн-валидаторов XML действительно говорили, что XML файлы верны (что не было), я использовал

plutil filename.plist

перейти в каталог, в котором присутствует файл plist (из терминала), и узнать точный номер строки, в которой были проблемы Ссылка:(fooobar.com/info/98786/...)