Я получаю эту ошибку "Набор приложений не содержит допустимого идентификатора" после успешного компиляции моего приложения. Эта ошибка предотвращает запуск моей игры на телефоне или симуляторе. Я не знаю, как это исправить, поскольку я следовал этому учебнику Как сделать космическую шутерскую игру 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
в Навигаторе проектов
- Отметьте поле для своего приложения
- Clean + Build + Run