flutter_facebook_login CocoaPods 依赖错误

Posted

技术标签:

【中文标题】flutter_facebook_login CocoaPods 依赖错误【英文标题】:flutter_facebook_login CocoaPods dependency error 【发布时间】:2019-08-30 23:50:47 【问题描述】:

我正在尝试将 facebook 登录添加到 Flutter 应用程序。我使用flutter_facebook_login。但是当我尝试为 ios 构建时给出错误:

    Resolving dependencies of `Podfile`
    [!] CocoaPods could not find compatible versions for pod "FBSDKLoginKit":
      In Podfile:
        flutter_facebook_login (from `.symlinks/plugins/flutter_facebook_login/ios`) was resolved to 0.0.1, which depends on
          FBSDKLoginKit (= 4.39.1)

    None of your spec sources contain a spec satisfying the dependency: `FBSDKLoginKit (= 4.39.1)`.

    You have either:
     * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
     * mistyped the name or version.
     * not added the source repo that hosts the Podspec to your Podfile.




Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies.
To update the CocoaPods specs, run:
  pod repo update

Error running pod install
Error launching application on iPhone X.

我没有手动安装 pod,因为 flutter_facebook_login 自述文件说:

(注意:您可以跳过“第 2 步:设置开发环境”)。

有人帮忙吗? 谢谢!

【问题讨论】:

【参考方案1】:

根据这个 diegoveloper 的回答 flutter_facebook_login github issue。

https://github.com/roughike/flutter_facebook_login/issues/201

flutter clean 删除ios/Podfile.lock文件 转到Podfile 文件并从platform :ios, '9.0' 更改为platform :ios, '11.0' (在我的情况下,一些库不支持 11.0,我使用 平台:ios,'9.0 然后将 runner.xcsworkspace 中的部署目标设置为 9.0 即可。) 进入终端,ios目录并运行pod install 再次运行项目。

【讨论】:

确保 "platform :ios, '11.0'" 行没有被注释掉。【参考方案2】:
    打开终端并使用cd the_root_package_path进入根包目录 输入flutter clean 打开podfile 并取消注释:# platform :ios, '11.0' 运行pod install

遇到同样的问题,尝试了所有方法,这对我有用。

【讨论】:

【参考方案3】:

只需更新您的 podfile。

platform :ios, '11.0'

尝试在终端中再次安装 pod。 吊舱安装

【讨论】:

【参考方案4】:

我前段时间遇到过这个问题,我可以通过手动方法解决这个问题。 确保您已在您的 pubspec.yaml flutter_facebook_login: ˆ2.0.0 中声明并获取。

在您的项目中 root directory 导航到 ios > .symlinks > plugins > flutter_facebook_login > ios > flutter_facebook_login.podspec

您将更改flutter_facebook_login.podspec 中的一些字段。

s.version          = '2.0.0'

s.dependency 'FBSDKLoginKit', '~> 4.29'

在此之后,在项目的ios 目录内的osx 框中运行pod deintegratepod update 返回根项目目录运行flutter clean 并尝试再次构建您的项目。

这是我的flutter_facebook_login.podspec 示例,它适用于我的一个项目。希望对你有帮助。

# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#
Pod::Spec.new do |s|
  s.name             = 'flutter_facebook_login'
  s.version          = '2.0.0'
  s.summary          = 'A Flutter plugin for allowing users to authenticate with native android & iOS Facebook login SDKs.'
  s.description      = <<-DESC
A Flutter plugin for allowing users to authenticate with native Android &amp; iOS Facebook login SDKs.
                       DESC
  s.homepage         = 'http://example.com'
  s.license          =  :file => '../LICENSE' 
  s.author           =  'Your Company' => 'email@example.com' 
  s.source           =  :path => '.' 
  s.source_files = 'Classes/**/*'
  s.public_header_files = 'Classes/**/*.h'
  s.dependency 'Flutter'
  s.dependency 'FBSDKLoginKit', '~> 4.29'

  # https://github.com/flutter/flutter/issues/14161
  #s.static_framework = true

  s.ios.deployment_target = '8.0'
end

【讨论】:

感谢您的回复!我还没有尝试过。修改这个安全吗?如果flutter_facebook_login 得到新的更新,也会更新这个吗?还是锁? 好吧,我前段时间在一个项目中做了这个改变,直到现在一切都很好。关于更新也很难说,因为在您进行此更改之前,插件版本已经被锁定对...?您可以对其进行一些测试,但我可以保证通过这些更改您将成功构建。 感谢您的回复!我之所以问,是因为我想确保在获得新版本时更新依赖项(例如,当作者发布版本 2.1.0 时)

以上是关于flutter_facebook_login CocoaPods 依赖错误的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:显示也使用该应用程序的 Facebook 朋友

flutter video_player 在发布模式下不播放视频

以co-co-h2o为诱生co-co-co-co-co-

301重写域名.co.uk至网址:www.domain.co.uk就像搜索引擎友好的开发人员你!

co函数库源码解析

co co a P o a d s的使用