Формат пакета непризнанный, недействительный или неподходящий

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

Xcode: 8,1

Язык: Objective-C

Я могу запустить проект на своем iPhone, но не могу работать на симуляторе.

Я пробовал:

1) удаление всех данных из папки DerivedData​​p >

2) очистка проекта и перезапуск проекта.

3) удаление папки ресурсов.

но это не сработало!

Ответ 1

Используете ли вы CocoaPods? Обновление самого CocoaPods +, тогда все модули работали от меня.

Примечание: это сразу после автообмена Xcode сегодня.

Ответ 2

Для тех, для кого обновление Cocoapods или возврат Xcode до 8.0 не является вариантом, вот решение, которое сработало для меня:

  • Щелкните правой кнопкой мыши по Pods в Навигаторе проектов
  • Нажмите New File...
  • Выберите Property List
  • Сохраните файл под именем Pods-Info.plist (например) и оставьте его пустым
  • Выберите Pods в Навигаторе проектов
  • Выберите проект Pods, затем Build Settings
  • Искать Info.plist
  • Задайте значение Info.plist File в Pods-Info.plist

Ответ 3

У меня была та же проблема. Я сделал следующие шаги, и он опрокинулся. Выберите Pods в навигации → TARGETS → ваши FDTakeResources → Signing (Включить подписание подписи) → Identity (выберите файл Info.plist). Тогда я могу запустить его на моем симуляторе.

Ответ 4

Это не решение для темы-стартера, однако в моем случае я получил эту ошибку о непривязанном, недействительном или неподходящем формате пакета в ходе выполнения CocoaPods встроенных фреймворков в попытке подписать любую фреймворк. Более того, проблема была воспроизведена только при работе над Jenkins.

Причина была действительно глупой. Дженкинс использовал пользовательский выходной каталог, который включал в себя пространство char посередине. Созданный CP post-build script не обрабатывает пути с пробелами должным образом, поэтому на инструменте codeign на самом деле не был задан правильный путь к структуре.

РЕШЕНИЕ: дважды проверьте, что у вас нет пробелов в вашем пути:)

Надеюсь, это поможет кому-то сэкономить время:)

Ответ 5

Еще одна вещь, на которую нужно обратить внимание, - это то, что в папку вывода попадает что-то, чего не должно быть или удалить из этой выходной папки. Например, в наших старых сборках мы помещаем нашу документацию в выходную папку, которая теперь подписана. Теперь мы не можем этого сделать, мы должны поставить его вместе с подписанной выходной папкой. Перемещение этого решения решило ошибку непризнанного формата пакета. Надеюсь, это поможет кому-то.

Ответ 6

Я видел подобную проблему с CocoaPods 0.39.0, в конце концов я решил ее, изменив мою спецификацию pod:

Комментирование

s.resource_bundles = {
  'DHSErdi' => ['Pod/Assets/*.png']
}

И добавив это

s.resources = ['Pod/Assets/*.xib', 'Pod/Assets/*.png', 'Pod/Assets/*.jpg', 'Pod/Assets/*.html', 'Pod/Assets/javascript/dist/**/*.js','Pod/Assets/javascript/src/**/*.html']