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 deintegrate
和pod 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 & 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 在发布模式下不播放视频