У меня есть некоторые приложения, которые очень похожи. Поэтому я хотел бы создать какой-либо частный пакет (ы), содержащий все распространенные коды многократного использования. Моя первая версия содержит некоторые сетевые функции, которые используют 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 не проходит проверку?
- Как я могу исправить предупреждение о недостающих фреймворках?