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