我有一个在Android上完美运行的应用程序:
ionic 4 cordova 9 cordova-插件-firebase-身份验证3.3.0
现在我想在IOS上实现它,我得到了各种错误。
我得到的第一个问题是cordova-plugin-firebase-authentication版本3.3.0与cordova-ios 5.1.1 ( cordova 9的默认版本)不兼容。它要求我使用版本高于6的cordova-ios,但这个选项对我来说是不可能的,因为我的许多插件不能与cordova 10和cordova-ios 6.1.1一起工作。
因此,我尝试使用cordova-plugin-firebase-authentication的版本,直到找到与cordova-ios 5.1.1和cordova 9兼容的版本。
但是从3.2.0版本开始,我得到了以下错误:
Failed to install 'cordova-plugin-firebase-authentication': Error: pod: Command failed with exit code 1 Error output:
at ChildProcess.whenDone (/…node_modules/cordova-common/src/superspawn.js:135:23)
at ChildProcess.emit (events.js:314:20)
at maybeClose (internal/child_process.js:1021:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
For more information about you at the moment, I have cocoapod 1.10.0 installed.这就是为什么我问你们,如果你们中的任何人能够做到这一点,在cordova 9和cordova-ios 5.1.1中,哪个版本的cordova-plugin-firebase-authentication工作得很好。另外,使用哪个版本的cocoapod,我可以很好地编译它?
干杯!
发布于 2020-12-06 03:01:38
问题在于将相同的依赖项复制到不同的版本。要解决此问题,您需要在同一版本中对齐依赖项。
使用Cordova安装插件的过程分两个阶段进行;第一个阶段是在Cordova项目级别安装插件;这是在package.json和config.xml文件中注册插件及其变量,在插件文件夹中安装节点包和下载插件。Cordova在第二阶段将插件分散到已安装的平台上,谈到负责执行此操作的IOS可可豆荚。
因此,您可以手动执行此过程;当您运行插件安装时,错误在cocoapods中,这意味着它处于第二阶段;您可以转到平台内的ios文件夹并执行:
pod install --verbose您将再次遇到相同的问题,但会对错误进行更详细的描述。
在你的例子中,这是因为你的插件引用了不同版本的Firebase。
要解决此问题,请打开ios文件夹中的Podfile文件,它会在使用Firebase的所有依赖项中设置相同的版本。
稍后,再次运行
pod install --verbose如果可以,请返回到主项目中的plugins文件夹,并在每个插件的配置中,设置与使用pod install成功安装时相同的值。
现在,如果要将它们保存在项目中或确保正确安装,可以使用变量:
ANDROID_FIREBASE_AUTH_VERSION
IOS_FIREBASE_AUTH_VERSION要设置该值,您需要从Cordova获取。
https://stackoverflow.com/questions/64964500
复制相似问题