ОШИБКА: пакет приложений не содержит допустимого идентификатора

Я получаю эту ошибку "Набор приложений не содержит допустимого идентификатора" после успешного компиляции моего приложения. Эта ошибка предотвращает запуск моей игры на телефоне или симуляторе. Я не знаю, как это исправить, поскольку я следовал этому учебнику Как сделать космическую шутерскую игру iPhone с помощью Cocos2d.

Ответ 1

в моем случае (работа с fastpdfkit, следуя 3-минутному отключению), Info.plist не был скопирован в пакет. мне пришлось вручную (повторно) добавить его в "Buildphase > Copy Bundle Resources"

Ответ 2

Проблема, которая вызывала это сообщение об ошибке, заключалась в том, что у меня была папка под названием "Ресурсы":

Эта ошибка также может быть вызвана, если в вашем проекте есть sub_directory, называемый "Ресурсы"; и, возможно, другие специальные имена, с которыми я не путешествовал. - источник

У меня также был файл -Info.plist, отсутствующий в Buildphase (спасибо thumbsup за его ответ выше).

Ответ 3

удалить путь DerivedData ~/Library/Developer/Xcode/DerivedData

Ответ 4

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

Вот что представляет собой действительный идентификатор пакета приложений:

Строка идентификатора связки определяет ваше приложение для система. Эта строка должна быть однородной идентификатор типа (UTI), который содержит только буквенно-цифровые (A-Z, a-z, 0-9), дефис (-) и период (.) символов. Строка также должна быть в обратный DNS-формат. Например, если домен вашей компании - Ajax.com и вы создаете приложение с именем Hello, вы можете назначить строку com.Ajax.Hello как ваши приложения идентификатор связки. Пакет идентификатор используется для проверки подпись приложения. source (apple developer)

Это также может быть полезно:

Идентификатор, используемый iOS и Mac OS X признать любые будущие обновления ваше приложение. Идентификатор вашего пакета должен быть зарегистрированный в Apple и уникальный для ваше приложение. Идентификаторы пакетов - это тип приложения (iOS или Mac OS X). тот же идентификатор пакета не может использоваться для обоих iOS и Mac OS X. источник

Это несколько двойной пост - я отправил тот же ответ на gamedev.stackexchange.com.

Ответ 5

Была та же проблема. Вот как он сам решил:

  • Удалите все расширения с Build Phases > Target Dependencies и Build Phases > Embed App Extensions.
  • Запустите Product > Clean.
  • Попробуйте компилировать. Для меня это работало безупречно.
  • Добавьте свои расширения один за другим и сделайте Product > Clean + Product > Run после добавления каждого из них.

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

Ответ 6

По какой-то причине Xcode удалил файл Info.plist из целевого приложения.

  • Выберите Info.plist в Навигаторе проектов

Навигатор по проекту

  1. Отметьте поле для своего приложения

Целевое членство

  1. Clean + Build + Run