Ответ 1
Используете ли вы CocoaPods? Обновление самого CocoaPods +, тогда все модули работали от меня.
Примечание: это сразу после автообмена Xcode сегодня.
Xcode: 8,1
Язык: Objective-C
Я могу запустить проект на своем iPhone, но не могу работать на симуляторе.
Я пробовал:
1) удаление всех данных из папки DerivedDatap >
2) очистка проекта и перезапуск проекта.
3) удаление папки ресурсов.
но это не сработало!
Используете ли вы CocoaPods? Обновление самого CocoaPods +, тогда все модули работали от меня.
Примечание: это сразу после автообмена Xcode сегодня.
Для тех, для кого обновление Cocoapods или возврат Xcode до 8.0 не является вариантом, вот решение, которое сработало для меня:
Pods
в Навигаторе проектовNew File...
Property List
Pods-Info.plist
(например) и оставьте его пустымPods
в Навигаторе проектовPods
, затем Build Settings
Info.plist
Info.plist File
в Pods-Info.plist
У меня была та же проблема. Я сделал следующие шаги, и он опрокинулся. Выберите Pods в навигации → TARGETS → ваши FDTakeResources → Signing (Включить подписание подписи) → Identity (выберите файл Info.plist). Тогда я могу запустить его на моем симуляторе.
Это не решение для темы-стартера, однако в моем случае я получил эту ошибку о непривязанном, недействительном или неподходящем формате пакета в ходе выполнения CocoaPods встроенных фреймворков в попытке подписать любую фреймворк. Более того, проблема была воспроизведена только при работе над Jenkins.
Причина была действительно глупой. Дженкинс использовал пользовательский выходной каталог, который включал в себя пространство char посередине. Созданный CP post-build script не обрабатывает пути с пробелами должным образом, поэтому на инструменте codeign на самом деле не был задан правильный путь к структуре.
РЕШЕНИЕ: дважды проверьте, что у вас нет пробелов в вашем пути:)
Надеюсь, это поможет кому-то сэкономить время:)
Еще одна вещь, на которую нужно обратить внимание, - это то, что в папку вывода попадает что-то, чего не должно быть или удалить из этой выходной папки. Например, в наших старых сборках мы помещаем нашу документацию в выходную папку, которая теперь подписана. Теперь мы не можем этого сделать, мы должны поставить его вместе с подписанной выходной папкой. Перемещение этого решения решило ошибку непризнанного формата пакета. Надеюсь, это поможет кому-то.
Я видел подобную проблему с 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']