框架(规范是空的...)

我已经使用Cocoapods Packager成功编译了一个框架

当试图皮包含该框架的podspec时,我收到以下错误:

ERROR | File Patterns: The spec is empty (no source files, resources, resource_bundles, preserve paths, vendored_libraries, vendored_frameworks, dependencies, nor subspecs).

我的podspec很简单,看起来像这样:

Pod::Spec.new do |s|
  s.name                        = 'MyFramework'
  s.module_name                 = 'MyFramework'
  s.version                     = '0.0.1'
  s.summary                     = 'Summary goes here...'
  s.license                     = 'MIT'
  s.homepage                    = 'http://GITHUB_ACCOUNT.com'
  s.frameworks                  = ["CoreData", "CoreGraphics", "CoreImage", ...more frameworks]
  s.requires_arc                = true
  s.source                      = {
    :git => "https://github.com/GITHUB_ACCOUNT/MyFramework.git", 
    :tag => s.version.to_s
  }
  s.ios.platform                = :ios, '9.0'
  s.ios.preserve_paths          = 'MyFramework.embeddedframework/MyFramework.framework'
  s.ios.public_header_files     = 'MyFramework.embeddedframework/MyFramework.framework/Versions/A/Headers/*.h'
  s.ios.vendored_frameworks     = 'MyFramework.embeddedframework/MyFramework.framework'
end

podspec的基本格式实际上是由Cocoapods-Packager生成的。 我确保podspec中的以下路径都指向预期的文件:

s.ios.preserve_paths          = 'MyFramework.embeddedframework/MyFramework.framework'
s.ios.public_header_files     = 'MyFramework.embeddedframework/MyFramework.framework/Versions/A/Headers/*.h'
s.ios.vendored_frameworks     = 'MyFramework.embeddedframework/MyFramework.framework'

运行pod spec lint --verbose首先告诉我** BUILD SUCCEEDED ** ',但随后会生成错误。

在通过pod update的项目中使用框架pod update ! 但是我无法将衣服挂到衣服上,所以我永远无法将它提交给Cocoapods回购站。

请注意,我在这里粘贴的podspec中的所有愚蠢路径( 'http://GITHUB_ACCOUNT.com' )只是占位符,并且是我实际podspec中的有效路径。

我正在使用cocoapods 0.39.0。

有任何想法吗?


发现这里出了什么问题。

s.ios.platform = :ios, '9.0'

意味着linter将为所有平台构建。

由Cocoapods-Packager创建的podspec最初有这样的:

s.platform = :ios, '9.0'
s.ios.platform = :ios, '9.0'

我想,在某个时候,我无意中删除了第一行。 无论如何,缺少s.platform告诉你想要在所有平台上测试的s.platform

请参阅valid = spec.available_platforms.send(fail_fast ? :all? : :each) do |platform| 这里

我从未想过要在所有平台上进行测试,只有iOS。 事实证明,linter在测试watchOS时失败了,我不关心...

希望这会帮助那些犯同样错误的人!

链接地址: http://www.djcxy.com/p/89647.html

上一篇: framework (The spec is empty...)

下一篇: swift dependency in objc podspec project