pod lib lint 中不包含框架头文件

Framework header files not included in pod lib lint

我正在尝试添加编译 toxav 所需的 VPX 框架。我有这样的 Pod 规范文件:

Pod::Spec.new do |s|
 s.name             = "toxcore-ios"
 s.version          = "0.1.3"
 s.summary          = "Cocoapods wrapper for toxcore"
 s.homepage         = "https://github.com/dvor/toxcore-ios"
 s.license          = 'GPLv3'
 s.author           = { "Dmytro Vorobiov" => "d@dvor.me" }
 s.source           = {
  :git => "https://github.com/dvor/toxcore-ios.git",
  :tag => s.version.to_s,
  :submodules => true
 }

 s.platform     = :ios, '7.0'
 s.requires_arc = true

 s.source_files = 'toxcore/toxcore/*.{c,h}', 'toxcore/toxencryptsave/*.{c,h}', 'toxcore/toxav/*.{c,h}'
 s.public_header_files = 'toxcore/toxcore/*.h', 'toxcore/toxav/*.h'
 s.dependency 'libsodium', '~> 1.0.1'
 s.dependency 'libopus', '~> 1.1'
 s.ios.vendored_frameworks = 'VPX.framework'
 s.prepare_command = 'libvpx/build/make/iosbuild.sh'
end

就其价值而言,prepare_command 创造了 VPX.framework。我尝试将 VPX.framework 文件添加到 s.source_files 和 s.public_header_files,但是当 运行 pod lib lint 时它们仍然收到下面相同的错误。我什至不确定是否有必要将它添加到 s.source_filess.public_header_files 因为我相信 s.ios.frameworks 已经解决了?

toxcore/toxav/toxav.h:34:10: fatal error: 'vpx/vpx_image.h' file not found

本周我在新创建的 pod 中链接框架时遇到了同样的问题。使用 lint 时应使用 --use-libraries 选项:

pod lib lint --use-libraries

将您的 pod 推送到主 Cocoapods 存储库或您自己的存储库时,也可以使用此选项。

pod repo push REPO_NAME POD_NAME.podspec --use-libraries

希望对您有所帮助!

我解决了我的问题。 VPX框架路径如下: VPX.framework/Headers/vpx/{files.h}

当我们使用 vendored_frameworks 时,它实际上只在 Header 文件夹下查找头文件。所以我们有这个

VPX.framework/Headers/{看这里}

在这种情况下,我不得不将 vpx 下的文件移动到 Header