【问题标题】:Cocoapods - Unable to find a Specification for [Github framework]Cocoapods - 找不到 [Github 框架] 的规范
【发布时间】:2015-03-03 23:26:23
【问题描述】:

当尝试将新的Podfile pod install 插入现有 Xcode (iOS) 项目时,我从终端收到以下错误消息:[!] Unable to find a specification for 'XCDYouTubeKit (~> 2.1.1)'。我尝试加载的 Podfile 如下所示:

# Uncomment this line to define a global platform for your project
# platform :ios, '6.0'

target 'DemoApp' do

pod 'XCDYouTubeKit', '~> 2.1.1'

end

target 'DemoAppTests' do

end

target 'TheDayByDay' do

end

另外,我的Xcode项目的文件结构如下:

DemoApp
     Podfile (file)
     Pods (directory)
     DemoApp (directory)
     DemoApp.xcodeproj (file)
     DemoAppTests (directory)

这个安装不工作怎么办?我哪里错了?我正在运行 Cocoapods 0.35.0。我错过了pod spec 文件吗?我不明白它是什么,也不明白这种文件的文件结构是什么样的。

【问题讨论】:

  • 您可以尝试运行pod repo update 看看这个错误是否消失了吗?否则删除~/.cocoapods,然后运行pod setup
  • @KeithSmiley pod repo update 不起作用,但我为什么要删除 ~/.cocoapods?那不就是整个 cocoa pods 安装库吗?这有什么帮助?
  • @KeithSmiley pod repo update 实际上对我有用。它更新了我计算机中的大量其他存储库,您能解释一下为什么会这样吗?

标签: ios xcode unix cocoapods


【解决方案1】:

引用您在 cmets 中的对话,您需要执行 sudo rm -fr ~/.cocoapods/repos/master,因为它会删除您计算机中的所有虚假和损坏的存储库,以便在您重做 pod setup 后有机会重新填充它,这将通过新的 Cocoapods 设置恢复您的状态。此外,您需要指定 sudo xcode-select --switch /applications/Xcode.app 新版本的 Xcode 所在的位置。这只是我完成修复所必须执行的另一个设置过程。从那里,只需执行 pod setup 即可运行 pod install 以集成您想要的所有库!

【讨论】:

  • 您不需要sudo。感谢您的解释!
  • 这解决了我在中断“pod 更新”过程时遇到的问题,并且开始收到相同的错误消息。 +1!
  • 确实回答了您自己的问题,或者您是否巧合地与提问者同名?大声笑
【解决方案2】:

你也可以这样设置:

pod 'yourpodframework', :git => 'https://github.com/username/yourpodframework'

【讨论】:

  • 为什么我们需要添加源路径才能让 pod 工作,可能是什么原因导致某些 pod 仅通过 - pod 'podname' 工作,而有些则需要上述其他方式。
  • 这是因为只需要 podname 的 pod 部署在公共 podspec 存储库中,而另一个部署在私有 podspec 存储库中。所以你需要指定路径。
  • 您能否提供任何链接以供参考我们如何配置它。我已经上传了我的 github 库,并指定了完整路径以使其正常工作。
【解决方案3】:

我遇到了同样的问题。 但我必须通过以下程序解决我的问题。

   source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '9.0'

    target 'Test' do

      use_frameworks!

#    pod 'Alamofire', '~> 4.0'
     pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git'

#    pod 'SwiftyJSON' , '~> 3.1'
     pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git'

#     pod 'SideMenu' '~> 2.0'
      pod 'SideMenu', :git => 'https://github.com/jonkykong/SideMenu.git'

#     pod 'SDWebImage', '4.0.0-beta2'
      pod 'SDWebImage', :git => 'https://github.com/rs/SDWebImage.git'

#     pod 'SwiftDate', '~> 4.0'
      pod 'SwiftDate', :git => 'https://github.com/malcommac/SwiftDate'



end

post_install do |installer|
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings['SWIFT_VERSION'] = '3.0'
     end
    end
  end

Links for more information

【讨论】:

  • 这为我修好了,谢谢!!我不清楚为什么它会被击中或错过。有些只使用您注释掉的行就可以正常工作,而另一些则需要 git 参考。
【解决方案4】:

我将把它放在这里以供将来参考: 在我的情况下,问题是一个错误的 podspec,其语法问题已被推送到远程。 Podfile 包含对特定 github 提交的引用。 显然在这种情况下 CocoaPods 给出了关于“缺少 podspec”的非常无用的错误消息,尽管 podspec 肯定存在,只是拙劣。

解决方案:下载 podspec 文件(例如通过克隆整个 pod 的 repo)并运行 pod spec lint

或者:在本地克隆 pod 并将 Podfile 引用更改为本地路径。在这种情况下执行pod install 将显示更有用的错误消息。像这样:

[!] Invalid `<some>.podspec` file: syntax error, unexpected tCONSTANT, expecting keyword_end
...eGraphics', 'QuartzCore, 'IOKit', 'XCTest'

如您所见,在我的情况下,这是 QuartzCore 之后缺少的引用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 2017-01-17
    • 1970-01-01
    • 2017-03-19
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多