"error: expected a type" error when running "pod spec lint"

"error: expected a type" error when running "pod spec lint"

我正在尝试将现有项目转换为 cocoapod 以便它更易于使用,但是当我 运行

pod spec lint --verbose

我收到一些类似于

的错误

- ERROR | [iOS] xcodebuild: CoreDataServices/CoreDataServices/Services/Count/CDSCountService.m:28:9: error: use of undeclared identifier 'NSFetchRequest'

我的 podspec 如下:

 Pod::Spec.new do |s|

  s.name         = "CoreDataServices"
  s.version      = "0.2.0"
  s.summary      = "CoreDataServices contains a set of helper classes to abstract away common core data functionality."

  s.homepage     = "http://www.williamboles.me"
  s.license      = { :type => 'MIT', 
                     :file => 'LICENSE.md' }
  s.author       = "William Boles"

  s.platform     = :ios, "8.0"

  s.source       = { :git => "https://github.com/wibosco/CoreDataServices.git", 
                     :branch => "master", 
                     :tag => s.version }

  s.source_files  = "CoreDataServices/**/*.{h,m}"
  s.public_header_files = "CoreDataServices/**/*.{h}"

  s.frameworks = 'UIKit', 'CoreData'

  s.requires_arc = true

end

我安装了 cocoapod 版本 0.39.0。

在 cocoapods 之外使用 xcodebuild 构建项目会导致项目构建无误。

我最终成功到达那里,但这是一个奇怪的地方:

Pod::Spec.new do |s|

  s.name         = "CoreDataServices"
  s.version      = "0.2.0"
  s.summary      = "CoreDataServices contains a set of helper classes to abstract away common core data functionality."

  s.homepage     = "http://www.williamboles.me"
  s.license      = { :type => 'MIT', 
                     :file => 'LICENSE.md' }
  s.author       = "William Boles"

  s.platform     = :ios, "8.0"

  s.source       = { :git => "https://github.com/wibosco/CoreDataServices.git", 
                     :branch => "master", 
                     :tag => s.version }

  s.source_files  = "CoreDataServices/**/*.{h,m}"
  s.public_header_files = "CoreDataServices/**/*.{h}"

  s.requires_arc = true

  s.frameworks = 'UIKit', 'CoreData'

end

我将 s.requires_arc = true 移动到 s.framework = 'UIKit', 'CoreData' 以上,错误消失了。

我还注意到,如果我颠倒框架的顺序,它就会变成

s.frameworks = 'CoreData', 'UIKit'

s.requires_arc = true 

同样有效