繁体   English   中英

如果pod lib lint成功,则pod spec lint失败。 “ vendored_frameworks”模式与任何文件都不匹配

[英]pod spec lint fails when pod lib lint succeeds. 'vendored_frameworks' pattern did not match any file

我创建了一个框架,希望通过CocoaPods进行分发。

我不确定自己是否在做一些愚蠢的事情。 我已经在基本目录中包含一个完整的.framework文件夹,我希望该文件夹可以作为我的pod的源。 当我运行“ pod lib lint”时,一切似乎都很好,但是当我运行“ pod spec lint”时,我得到:

- ERROR | [iOS] The `vendored_frameworks` pattern did not match any file.

在尝试检查stackoverflow后,我尝试添加了prepare_paths,但这似乎无法解决我的问题。 通过阅读cocoapods文档,vendored_frameworks是“ Pod附带的框架包的路径”,因此我认为在这里使用它似乎很好。

这是我的podspec文件:

Pod::Spec.new do |s|
  s.name             = "X"
  s.version          = "1.0"
  s.summary          = "Summary"
  s.description      = "Description here"
  s.homepage         = "http://www.valid_homepage.com/"
  s.license          = { :type => "Commercial", :text => "See https://www.license_here" }
  s.author           = { "Author" => "author@website.com" }
  s.source           = { :http => "https://storage.googleapis.com/path/to/file" }
  s.social_media_url = 'https://twitter.com/handle'
  s.platform     = :ios, '7.0'
  s.requires_arc = true
  s.preserve_paths = 'X.framework'
  s.vendored_frameworks = 'X.framework'
  s.frameworks = 'SystemConfiguration'
  s.library  = 'resolv'
end

任何见解将不胜感激! 谢谢!

.framework目录具有以下结构

Framework
  - Headers (Shortcut)
  - LibraryFile (Shortcut)
  - Versions
    - A
      - Headers (Contains .h file)
      - LibraryFile
    - Current (Shortcut to A directory)

弄清楚了。 基本上,您分发的任何zip的文件夹结构都必须在内部匹配搜索路径。 就像您的目录结构是:

.podspec
Frameworks/
    - X.framework

哪里

s.vendored_frameworks = 'Frameworks/X.framework'

然后看来,当您解压缩http:资源时,它应该具有目录结构

Frameworks/
    - X.framework

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM