CocoaPods podspec lint失败
我正在尝试分发我的Pod,但我在验证时遇到问题。
当我试图针对我的.podspec时,我得到:
- ERROR | [iOS] [xcodebuild] path/to/my/source/file.m:14:9: fatal error: 'KeyValueObjectMapping/DCKeyValueObjectMapping.h' file not found
我试图用不同的变体来保存他们框架的路径
s.preserve_paths = 'KeyValueObjectMapping.framework/*'
要么
s.preserve_paths = '${PODS_ROOT}/Vendor/KeyValueObjectMapping/KeyValueObjectMapping.framework'
&其他变化,但这样我得到一个更多的错误:
- ERROR | [iOS] The `preserve_paths` pattern did not match any file.
我还尝试了其他一些其他问题,例如:
s.xcconfig = { 'HEADER_SEARCH_PATHS' => '"${PODS_ROOT}/Vendor/KeyValueObjectMapping/KeyValueObjectMapping.framework"','FRAMEWORK_SEARCH_PATHS' => '"$(PODS_ROOT)/Vendor/KeyValueObjectMapping/*"' }
s.framework = 'KeyValueObjectMapping'
该项目使用Xcode5以及使用默认设置的xcodebuild进行构建,但只有在为Cocoapods验证时才会出现此问题。
我遇到了这个问题,试图创建一个自定义的Podspec,并添加RevMob和Heyzap SDK作为依赖。
我不断收到以下错误:
- ERROR | [iOS] [xcodebuild] MyProject/MyProjectSubDir/AnotherDir/CustomAd.h:10:9: fatal error: 'RevMobAds/RevMobAds.h' file not found
- ERROR | [iOS] [xcodebuild] MyProject/MyProjectSubDir/AnotherDir/FacebookController.m:18:9: fatal error: 'RevMobAds/RevMobAds.h' file not found
然后,当我为RevMob指定FRAMEWORK_SEARCH_PATHS时,我会得到相同的错误,但对于Heyzap的SDK。
我的解决方案是创建一个subspec并指定每个SDK的搜索路径给我的问题。 这里:
s.subspec "Heyzap" do |ss|
ss.dependency "Heyzap", "~> 6.4.4"
ss.xcconfig = { "FRAMEWORK_SEARCH_PATHS" => "$(PODS_ROOT)/Heyzap"}
end
s.subspec "RevMob" do |ss|
ss.dependency "RevMob", "~> 7.4.8"
ss.xcconfig = { "FRAMEWORK_SEARCH_PATHS" => "$(PODS_ROOT)/RevMob"}
end
我的pod spec lint
现在可以运行并无错地生成。