我最近更新了cocoapods 0.36并对内部规范进行了一些更改,现在podspec不再验证。我用0.35验证了此规范lint的先前版本(0.3.8)并且使用0.36失败了。很明显,cocoapods 0.36要求的东西已经改变了。我知道Swift支持与动态框架一起添加,但我无法确定它失败的原因。
这是podspec
Pod::Spec.new do |s|
s.name = "Infusionsoft-Internal"
s.version = "0.3.8"
s.summary = "Pods to be used internal to Infusionsoft across projects."
s.author = { "Chris Wagner" => "chris.wagner@infusionsoft.com" }
s.homepage = "https://github.com/infusionsoft/Internal-iOS-Pods.git"
s.license = {
:type => 'N/A Copyright by Infusionsoft',
:text => <<-LICENSE
N/A Copyright by Infusionsoft
LICENSE
}
s.source = { :git => "https://github.com/infusionsoft/Internal-iOS-Pods.git", :tag => "0.3.8" }
s.platform = :ios, '7.0'
s.xcconfig = { 'HEADER_SEARCH_PATHS' => '"/usr/include/libxml2"'}
s.libraries = 'xml2'
s.subspec 'Categories' do |cat|
cat.source_files = 'Categories/Classes/*.{h,m}'
end
s.subspec 'UIComponents' do |ui|
ui.source_files = 'UIComponents/Classes/**/*.{h,m}'
ui.resources = 'UIComponents/Resources/Images/*.png', 'UIComponents/Resources/Fonts/*.otf'
ui.framework = 'QuartzCore'
end
s.subspec 'Login' do |login|
login.source_files = 'Login/Classes/**/*.{h,m}'
login.resources = 'Login/Resources/Images/*', 'Login/Resources/Login.storyboard'
login.dependency 'Infusionsoft-Internal/UIComponents', '~> 0.2'
login.dependency 'Infusionsoft-Internal/Categories', '~> 0.2'
login.dependency 'InfusionsoftSDK', '~> 0.9'
login.dependency 'Localytics-iOS-Client', '~> 2.23.0'
login.dependency 'MBProgressHUD', '~> 0.7'
end
s.subspec 'Services' do |services|
services.source_files = 'Services/Classes/**/*.{h,m}'
services.resources = 'Services/Classes/**/TagSearch_iPhone.storyboard'
services.dependency 'Infusionsoft-Internal/UIComponents', '~> 0.2'
services.dependency 'Infusionsoft-Internal/Categories', '~> 0.2'
services.dependency 'Localytics-iOS-Client', '~> 2.23.0'
services.dependency 'InfusionsoftSDK', '~> 0.9'
services.dependency 'MBProgressHUD', '~> 0.7'
end
s.subspec 'Forms' do |forms|
forms.source_files = 'Forms/Classes/**/*.{h,m}'
forms.resources = 'Forms/Resources/*.*'
forms.dependency 'Infusionsoft-Internal/UIComponents', '~> 0.1'
end
s.requires_arc = true
end
以下是pod spec lint
详细日志的尾部(请原谅警告)。
-> Infusionsoft-Internal (0.3.8)
- WARN | The URL (https://github.com/infusionsoft/Internal-iOS-Pods.git) is not reachable.
- ERROR | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] Returned an unsuccessful exit code.
- WARN | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] InfusionsoftSDK/InfusionsoftSDK/WebServices/InvoiceService/ISLInvoiceServiceValidateCreditCard.m:62:30: warning: incompatible integer to pointer conversion assigning to 'BOOL *' (aka 'signed char *') from 'BOOL' (aka 'signed char') [-Wint-conversion]
- WARN | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] Headers/Private/InfusionsoftSDK/ISLDataServiceAddCustomField.h:43:18: warning: unused function 'ISLCustomFieldObjectCandidateString' [-Wunused-function]
- WARN | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] Headers/Private/InfusionsoftSDK/ISLDataServiceAddCustomField.h:101:18: warning: unused function 'ISLCustomFieldDataTypeString' [-Wunused-function]
- WARN | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] Headers/Private/InfusionsoftSDK/ISLContactServiceAddWithDupCheck.h:39:18: warning: unused function 'ISLDupCheckTypeString' [-Wunused-function]
- WARN | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] Headers/Private/InfusionsoftSDK/ISLInvoiceServiceAddManualPayment.h:39:18: warning: unused function 'ISLInvoiceServiceManualPaymentTypeString' [-Wunused-function]
- WARN | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] Headers/Private/InfusionsoftSDK/ISLCreditCardTypeEnum.h:43:18: warning: unused function 'ISLCreditCardTypeNameString' [-Wunused-function]
- WARN | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] InfusionsoftSDK/InfusionsoftSDK/WebServices/DataService/ISLDataServiceAdd.m:71:50: warning: implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int' [-Wshorten-64-to-32]
- WARN | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] InfusionsoftSDK/InfusionsoftSDK/WebServices/InvoiceService/ISLInvoiceServiceValidateCreditCard.m:62:30: warning: incompatible integer to pointer conversion assigning to 'BOOL *' (aka 'bool *') from 'BOOL' (aka 'bool') [-Wint-conversion]
- WARN | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] InfusionsoftSDK/InfusionsoftSDK/WebServices/InvoiceService/ISLInvoiceServiceValidateCreditCard.m:85:32: warning: initialization of pointer of type 'BOOL *' (aka 'bool *') to null from a constant boolean expression [-Wbool-conversion]
- WARN | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] Localytics-iOS-Client/Localytics-iOS-Client-2.23.0.source/LocalyticsDatapointHelper.m:135:18: warning: code will never be executed [-Wunreachable-code]
- WARN | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] Localytics-iOS-Client/Localytics-iOS-Client-2.23.0.source/LocalyticsDatapointHelper.m:207:11: warning: incompatible pointer to integer conversion assigning to 'BOOL' (aka 'signed char') from 'id' [-Wint-conversion]
- WARN | [Infusionsoft-Internal/Forms] Infusionsoft-Internal/Forms/Classes/Cells/INFAddNewFormFieldCell.h:13:47: warning: auto property synthesis will not synthesize property 'textLabel' because it is 'readwrite' but it will be synthesized 'readonly' via another property [-Wobjc-property-synthesis]
- NOTE | [Infusionsoft-Internal/Forms] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableViewCell.h:67:54: note: property declared here
- ERROR | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] Localytics-iOS-Client/Localytics-iOS-Client-2.23.0.source/LocalyticsDatabase.h:12:9: error: include of non-modular header inside framework module 'Localytics_iOS_Client.LocalyticsDatabase' [-Werror,-Wnon-modular-include-in-framework-module]
- NOTE | [Infusionsoft-Internal/Login] Infusionsoft-Internal/Login/Classes/INFAppSelectionViewController.m:26:9: fatal error: could not build module 'Localytics_iOS_Client'
- WARN | [Infusionsoft-Internal/UIComponents, Infusionsoft-Internal/Login, Infusionsoft-Internal/Services, and more...] Infusionsoft-Internal/UIComponents/Classes/INFAppearance.m:29:36: warning: 'UITextAttributeFont' is deprecated: first deprecated in iOS 7.0 - Use NSFontAttributeName [-Wdeprecated-declarations]
- NOTE | [Infusionsoft-Internal/UIComponents, Infusionsoft-Internal/Login, Infusionsoft-Internal/Services, and more...] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStringDrawing.h:21:30: note: 'UITextAttributeFont' has been explicitly marked deprecated here
- WARN | [Infusionsoft-Internal/UIComponents, Infusionsoft-Internal/Login, Infusionsoft-Internal/Services, and more...] Infusionsoft-Internal/UIComponents/Classes/INFAppearance.m:30:36: warning: 'UITextAttributeTextColor' is deprecated: first deprecated in iOS 7.0 - Use NSForegroundColorAttributeName [-Wdeprecated-declarations]
- NOTE | [Infusionsoft-Internal/UIComponents, Infusionsoft-Internal/Login, Infusionsoft-Internal/Services, and more...] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStringDrawing.h:23:30: note: 'UITextAttributeTextColor' has been explicitly marked deprecated here
- WARN | [Infusionsoft-Internal/UIComponents, Infusionsoft-Internal/Login, Infusionsoft-Internal/Services, and more...] Infusionsoft-Internal/UIComponents/Classes/INFAppearance.m:31:36: warning: 'UITextAttributeTextShadowOffset' is deprecated: first deprecated in iOS 7.0 - Use NSShadowAttributeName with an NSShadow instance as the value [-Wdeprecated-declarations]
- NOTE | [Infusionsoft-Internal/UIComponents, Infusionsoft-Internal/Login, Infusionsoft-Internal/Services, and more...] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStringDrawing.h:27:30: note: 'UITextAttributeTextShadowOffset' has been explicitly marked deprecated here
- WARN | [iOS] [Infusionsoft-Internal/Categories] Infusionsoft-Internal/Categories/Classes/NSError+INFErrorPresenter.m:32:66: warning: values of type 'NSInteger' should not be used as format arguments; add an explicit cast to 'long' instead [-Wformat]
- WARN | [iOS] [Infusionsoft-Internal/Categories] Infusionsoft-Internal/Categories/Classes/NSError+INFErrorPresenter.m:40:53: warning: values of type 'NSInteger' should not be used as format arguments; add an explicit cast to 'long' instead [-Wformat]
- WARN | [iOS] [Infusionsoft-Internal/Categories] Infusionsoft-Internal/Categories/Classes/NSString+INFMD5.m:18:18: warning: implicit conversion loses integer precision: 'unsigned long' to 'CC_LONG' (aka 'unsigned int') [-Wshorten-64-to-32]
- WARN | [iOS] [Infusionsoft-Internal/Categories] Infusionsoft-Internal/Categories/Classes/NSString+INFURLEncoded.m:16:21: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
- NOTE | [iOS] [Infusionsoft-Internal/Services] Infusionsoft-Internal/Services/Classes/Tags/INFTagSearchViewController.m:27:9: fatal error: could not build module 'Localytics_iOS_Client'
- WARN | [Infusionsoft-Internal/Forms] Infusionsoft-Internal/Forms/Classes/INFFormField.h:53:18: warning: unused function 'INFFormFieldTypeString' [-Wunused-function]
- WARN | [Infusionsoft-Internal/Forms] Infusionsoft-Internal/Forms/Classes/INFFormField.h:85:25: warning: unused function 'INFFormFieldTypeFromString' [-Wunused-function]
- WARN | [Infusionsoft-Internal/Forms] Infusionsoft-Internal/Forms/Classes/INFFormField.h:106:14: warning: unused function 'INFFormFieldCellClassForType' [-Wunused-function]
- WARN | [Infusionsoft-Internal/Forms] Infusionsoft-Internal/Forms/Classes/INFFormField.h:138:23: warning: unused function 'INFUIKeyboardTypeFromString' [-Wunused-function]
- WARN | [Infusionsoft-Internal/Forms] Infusionsoft-Internal/Forms/Classes/Cells/INFFormFieldCell.m:65:76: warning: incompatible pointer to integer conversion sending 'void *' to parameter of type 'NSLayoutFormatOptions' (aka 'enum NSLayoutFormatOptions') [-Wint-conversion]
- NOTE | [Infusionsoft-Internal/Forms] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:97:92: note: passing argument to parameter 'opts' here
- WARN | [Infusionsoft-Internal/Forms] Infusionsoft-Internal/Forms/Classes/Cells/INFFormFieldCell.m:68:130: warning: incompatible pointer to integer conversion sending 'void *' to parameter of type 'NSLayoutFormatOptions' (aka 'enum NSLayoutFormatOptions') [-Wint-conversion]
- WARN | [Infusionsoft-Internal/Forms] Infusionsoft-Internal/Forms/Classes/Cells/INFFormFieldCell.m:42:12: warning: unused variable 'lineRect' [-Wunused-variable]
- WARN | [iOS] [Infusionsoft-Internal/Forms] Infusionsoft-Internal/Forms/Classes/Helpers/INFFormFieldHelper.m:65:69: warning: values of type 'NSInteger' should not be used as format arguments; add an explicit cast to 'long' instead [-Wformat]
Analyzed 1 podspec.
[!] The spec did not pass validation.
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.36.0/lib/cocoapods/command/spec/lint.rb:67:in `run'
/Library/Ruby/Gems/2.0.0/gems/claide-0.8.1/lib/claide/command.rb:312:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.36.0/lib/cocoapods/command.rb:46:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.36.0/bin/pod:44:in `<top (required)>'
/usr/bin/pod:23:in `load'
/usr/bin/pod:23:in `<main>'
我认为- ERROR | [Infusionsoft-Internal/Login,Infusionsoft-Internal/Services] Returned an unsuccessful exit code.
是关注点,但我无法弄清楚如何获得更多相关信息。
任何帮助将不胜感激。
答案 0 :(得分:5)
这不是一个答案,因为它没有解释发生了什么或为什么会发生。如果其他人在阅读此问题时知道,请回答:)
我遇到与您相同的问题,即此警告
...在框架模块中包含非模块化头文件......
我通过要求pod lint
不要使用框架来“修复”它。
pod lib lint --use-libraries
此选项在按下
时也有效pod repo push <repo> <podspec> --use-libraries