Podspec:找不到前缀导入
Podspec: Prefix import not found
我的项目构建正常。当我 运行 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'
但结果是一样的。我应该怎么做才能启用前缀以查看源代码?
--- 编辑 ---
我已经完成了对所有源文件的重构。我已经导入了手动需要的 类,没有使用前缀。所以这个问题对我来说已经不重要了。
与spec.prefix_header_contents = '#import "MyConstants.h"'
您指定了要插入 .pch
文件的代码行,该文件由 pod
在安装过程中创建。如果出现此错误,那是因为文件 MyConstants.h
丢失。
编辑
如果您的 MyConstants.h
文件是主项目源,则无法从 Pod
.
访问它
我有同样的问题。最后我在我的 subspec
中添加了 ss.public_header_files
。它更像是一个对我有用的解决方案(我不会称之为解决方案)。根据文档:
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
选项对其进行验证时,我收到了相同的错误 again.I 最终将问题写给了 cocaoPods 团队。 .pch wont recognise included files
我的项目构建正常。当我 运行 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'
但结果是一样的。我应该怎么做才能启用前缀以查看源代码?
--- 编辑 ---
我已经完成了对所有源文件的重构。我已经导入了手动需要的 类,没有使用前缀。所以这个问题对我来说已经不重要了。
与spec.prefix_header_contents = '#import "MyConstants.h"'
您指定了要插入 .pch
文件的代码行,该文件由 pod
在安装过程中创建。如果出现此错误,那是因为文件 MyConstants.h
丢失。
编辑
如果您的 MyConstants.h
文件是主项目源,则无法从 Pod
.
我有同样的问题。最后我在我的 subspec
中添加了 ss.public_header_files
。它更像是一个对我有用的解决方案(我不会称之为解决方案)。根据文档:
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
选项对其进行验证时,我收到了相同的错误 again.I 最终将问题写给了 cocaoPods 团队。 .pch wont recognise included files