我制作了一个我想通过CocoaPods分发的框架。
我不确定自己是不是做了些蠢事。我在基本目录中包含了一个已完成的.framework文件夹,我希望它能成为我的pod的源代码。当我运行" pod lib lint"时,一切似乎都很好,但是当我运行" pod spec lint"我明白了:
- ERROR | [iOS] The `vendored_frameworks` pattern did not match any file.
我在浏览stackoverflow之后尝试添加preserve_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)
答案 0 :(得分:2)
想出来。基本上,您分发的任何zip文件夹的文件夹结构必须在内部匹配搜索路径。就像您的目录结构是:
.podspec
Frameworks/
- X.framework
,其中
s.vendored_frameworks = 'Frameworks/X.framework'
然后,当您解压缩http:资源时,它应该具有目录结构
Frameworks/
- X.framework