Podspec не проходит проверку, но не регистрируется ERROR
У меня есть некоторые приложения, которые очень похожи. Поэтому я хотел бы создать какой-либо частный пакет (ы), содержащий все распространенные коды многократного использования. Моя первая версия содержит некоторые сетевые функции, которые используют AFNetworking, а также использует KeychainItemWrapper:
Pod::Spec.new do |s|
s.name = 'CommonLib'
s.version = '0.0.1'
s.homepage = '****'
s.summary = 'My Common lib'
s.description = 'Library with common code'
s.author = { "Rens Verhage" => "*****" }
s.platform = :ios, '5.0'
s.source = { :git => "ssh://****/CommonLib.git", :tag => s.version.to_s }
s.source_files = 'CommonLib/*.{h,m}'
s.requires_arc = true
s.dependency 'AFNetworking', '~> 1.3.1'
s.dependency 'KeychainItemWrapper', '~> 1.2'
end
Запуск функции спецификации CommonLib.podspec дает пару сообщений WARN и NOTE:
-> CommonLib (0.0.1)
- WARN | Missing required attribute `license`.
- WARN | Missing license type.
- NOTE | [xcodebuild] AFNetworking/AFNetworking/AFHTTPClient.h:84:9: warning: SystemConfiguration framework not found in project, or not included in precompiled header. Network reachability functionality will not be available. [-W#pragma-messages]
- NOTE | [xcodebuild] AFNetworking/AFNetworking/AFHTTPClient.h:89:9: warning: MobileCoreServices framework not found in project, or not included in precompiled header. Automatic MIME type detection when uploading files in multipart requests will not be available. [-W#pragma-messages]
- NOTE | [xcodebuild] CommonLib/CommonLib/NSArray+NSArray_PerformSelector.m:19:35: warning: performSelector may cause a leak because its selector is unknown [-Warc-performSelector-leaks]
- NOTE | [xcodebuild] CommonLib/CommonLib/NSArray+NSArray_PerformSelector.m:19:51: note: used here
- WARN | [iOS] Unable to find a license file
Analyzed 1 podspec.
[!] The spec did not pass validation.
Обратите внимание, что сообщений ERROR нет, но спецификация не проходит проверку. На самом деле, мне некуда идти. Сообщение о том, что рамки SystemConfiguration и MobileCoreServices отсутствуют, похоже на ошибку. Я попытался исправить это предупреждение, добавив
s.ios.frameworks = 'MobileCoreServices', 'SystemConfiguration'
для моего podspec, но это не работает.
Итак, два вопроса в одном:
- Какова ошибка, из-за которой мой podspec не проходит проверку?
- Как я могу исправить предупреждение о недостающих фреймворках?
Ответы
Ответ 1
Ok. Получил мой ответ от парней Кокоаподов. Подтверждение подпрограммы не выполняется при всех ошибках и предупреждениях. Несоблюдение предупреждений не означает, что проект терпит неудачу как под. Оказывается, я могу просто игнорировать предупреждение.
Что касается AFNetworking, проблема была решена с версией 2.0.
Ответ 2
Недавно у меня возникла эта проблема, и добавление --allow-warnings
устраняет проблему.
pod spec lint MyProject.podspec --allow-warnings
Ответ 3
[Обновлено]
Следуйте руководству по cocoapods, чтобы настроить свой файл podspec и устранить ошибку, если вы ее получаете, и во время проверки, если вы получаете только предупреждения и если вы просто хотите игнорировать его, тогда да, вы можете сделать это, запустив следующая команда.
Проверка подспека с предупреждениями
Добавьте --allow-warnings
в конце, он принудительно подтвердит psspec.👇🏻
pod spec lint your_project_name.podspec --allow-warnings
Push-репо с предупреждениями
Убедитесь, что вы добавили репозиторий, если не выполните следующую команду (игнорируйте ее, если вы уже добавили ее)
pod repo add your-pods pods_git_url
Для Pushing podspec для репо используйте это 👇🏻
pod repo push your-pods your_project_name.podspec --allow-warnings