我的项目正在建设中。当我运行pod spec lint
时,我收到以下错误:
- ERROR | [MyApp/Core] [xcodebuild] Target Support Files/Pods-MyApp/Pods-MyApp-prefix.pch:6:9: fatal error: 'MyConstants.h' file not found
值得注意的是常量文件的位置:Project/Classes/MyConstants.h
。这是我的podspec
:
Pod::Spec.new do |spec|
spec.name = "AppName"
spec.version = "1.0"
spec.summary = "blah blah"
spec.homepage = "http://company.com/"
spec.license = 'Apache 2.0'
spec.author = { "me" => "me@company.com" }
spec.source = { :git => 'ssh://path', :tag => '1.0'}
spec.requires_arc = true
spec.ios.deployment_target = '7.0'
spec.frameworks = ['Foundation', 'UIKit', 'CoreGraphics', 'QuartzCore']
spec.source_files = 'Classes/**.*', 'Classes/ViewControllers/**.*', 'Classes/Views/**.*'
spec.prefix_header_contents = '#import "MyConstants.h"'
spec.subspec 'Core' do |cs|
cs.dependency 'libextobjc', '~> 0.4'
end
end
我也尝试过换行:
spec.prefix_header_contents = '#import "MyConstants.h"'
使用:
spec.prefix_header_file = 'MyApp/MyApp-Prefix.pch'
但结果是一样的。如何启用前缀以查看源代码?
---编辑---
我最终重构了所有源文件。我已经导入了手动需要的类,而没有使用前缀。因此,这个问题对我来说不再重要了。
答案 0 :(得分:0)
spec.prefix_header_contents = '#import "MyConstants.h"'
您指定了一个代码行,以插入.pch
文件,该文件由pod
在安装过程中创建。如果您收到此错误,那是因为文件MyConstants.h
丢失了。
修改强>
如果您的MyConstants.h
文件是主要项目来源,则无法通过Pod
访问该文件。
答案 1 :(得分:0)
我有同样的问题。最后,我在ss.public_header_files
添加了subspec
。它更像是一个为我工作的工作(我不称之为解决方案)。根据文件:
public_header_files
A list of file patterns that should be used as public headers.
These are the headers that will be exposed to the user’s project
and from which documentation will be generated. If no public
headers are specified then all the headers are considered public.
也许它不完全准确。
修改强>
我的解决方案并不完全正确。当我使用pod lib lint
运行验证时,当我使用spec
选项验证它时,它已成功构建我再次收到相同的错误。我最终将问题写入cocaoPods团队。 .pch wont recognise included files