.podspec error - шаблон source_files не соответствует ни одному файлу
Я интегрирую один из моих репозиториев github (полный код здесь, если это помогает) с помощью Cocopods, и я получаю эту ошибку при запуске pod spec lint
.
-> DropDownMenu (0.0.1)
- ERROR | [iOS] The 'source_files' pattern did not match any file.
Это соответствующий код моего .podspec
который, по моему мнению, вызывает проблему.
Глядя на примеры здесь, здесь и здесь, я пробовал следующее
s.source_files = 'Classes/*.{h,m}'
s.source_files = 'Classes/DropDownMenu.{h,m}'
s.source_files = 'Classes'
s.source_files = 'Classes/**/*.{h,m}'
s.source_files
поле s.source_files
? Или я сделал что-то не так с .podspec
? Что я могу сделать, чтобы исправить это?
Моя проблема аналогична этому вопросу, однако решение для меня не работает (мой код обновлен в Github).
Ответы
Ответ 1
Проблема в том, что ваш podspec ссылается на фиксацию, которая еще не имела папку Classes,
т.е. у этой фиксации еще нет папки классов https://github.com/kevinrandrup/DropDownMenu/tree/09c9b3d515b78550557eabc0a8542f9f6f2623cf
Вы можете исправить эту проблему, указав последнюю фиксацию, то есть изменив источник podspec на:
s.source = { :git => "https://github.com/kevinrandrup/DropDownMenu.git", :commit => "0d6761feefccff1f7d8b7c7788ceb8e9cd1314ea" }
s.source_files = 'Classes/*.{h,m}'
Ответ 2
Я получил эту проблему после того, как CocoaPods автоматически генерирует файл podspec для меня с версией 1.1.0 RC3.
Исходная строка в файле Podspec была:
s.source_files = 'Pod/Classes/**/*'
Я исправил его, изменив его на:
s.source_files = 'NAME_OF_POD/Classes/**/*'
Ответ 3
Я использовал git tag. Это сработало для меня.
Шаг 1: Добавить тег
git tag 1.0.2 && git push origin --tags
Шаг 2. Установите источник с тегом
s.source = { :git => "https://github.com/kevinrandrup/DropDownMenu.git", :tag => s.version }
s.source_files = 'Classes/*.{h,m,swift}'
Обратите внимание на то, что ваш тег должен быть равен вашей версии спецификации.
Ответ 4
У меня проблема. Правильная конфигурация должна быть:
s.source = { :git => "https://github.com/kevinrandrup/DropDownMenu.git", :commit => "0d6761feefccff1f7d8b7c7788ceb8e9cd1314ea" }
s.source_files = 'Classes/**/*.{h,m}'
Ответ 5
Я решил проблему, изменив номер версии моего модуля. Пожалуйста, проверьте мой ответ на ОШИБКУ | [iOS]: шаблон 'source_files' не соответствовал файлу
Ответ 6
два решения: укажите 1. тег в полезной нагрузке источника, 2. укажите номер фиксации в полезной нагрузке источника.
Ответ 7
Есть три шага, чтобы заставить это работать.
1. Убедитесь, что путь к source_files
правильно.
2. Убедитесь, что исходная папка не пуста. Это означает, что вы должны поместить в него некоторые исходные файлы перед выполнением pod lib lint
3. Прежде чем отправлять репозиторий в Git, убедитесь, что вы указали правильный тег, отправили исходные файлы и tag
на удаленный сервер.
Ответ 8
Есть другая ситуация. Убедитесь, что ваш файл podspe и файл.git находятся в одном каталоге.
Ответ 9
У меня такая же проблема. Я решил это, изменив эту строку:
spec.source_files = "POD NAME/**/*"
Ответ 10
Я удалил папку ресурсов и исправил ошибку, которую мне пришлось удалить из Project.podspec:
#s.resource_bundles = {
# 'Project' => ['Resources/**/*.{png}']
#}