gpt4 book ai didi

cordova - Ionic-Firebase 应用程序错误 : Cannot find module '../plugman/platforms/ios'

转载 作者:行者123 更新时间:2023-12-02 15:46:19 26 4
gpt4 key购买 nike

按照以下 Authenticate Using OAuth Providers with Cordova 中的说明进行操作后,在我的 ionic 应用程序构建中出现上述错误。

在网上进行一些搜索后,我最终得到了以下存储库 ionic-plugin-deeplinks

似乎不再维护了。还有其他人有这个问题吗?有什么解决办法吗?

ionic 信息cli 包:(/usr/local/lib/node_modules)

@ionic/cli-utils  : 1.19.0
ionic (Ionic CLI) : 3.19.0

全局包:

cordova (Cordova CLI) : 7.1.0

本地包:

@ionic/app-scripts : 3.1.2
Cordova Platforms : ios 4.5.4
Ionic Framework : ionic-angular 3.9.2

系统:

ios-deploy : 1.9.2
Node : v8.9.1
npm : 5.5.1
OS : macOS Sierra
Xcode : Xcode 9.2 Build version 9C40b

最佳答案

我目前也遇到同样的问题。

这是一个bugcordova-universal-links-plugin中。

cordova-universal-links-plugin 依赖于 removed 已弃用的功能在新的 Cordova 版本中。已经有PR已修复,但尚未合并。

1 月 26 日更新

转到以下目录

  • 您的项目路径/plugins/cordova-universal-links-plugin/hooks/lib/ios/
  • 您的项目路径/node_modules/cordova-universal-links-plugin/hooks/lib/ios/

然后你会在目录中看到xcodePreferences.js文件。

修改xcodePreferences.js,如下所示。

function loadProjectFile() {
var platform_ios;
var projectFile;

try {
// try pre-5.0 cordova structure
platform_ios = context.requireCordovaModule('cordova-lib/src/plugman/platforms')['ios'];
projectFile = platform_ios.parseProjectFile(iosPlatformPath());
} catch (e) {
try {
// let's try cordova 5.0 structure
platform_ios = context.requireCordovaModule('cordova-lib/src/plugman/platforms/ios');
projectFile = platform_ios.parseProjectFile(iosPlatformPath());
} catch (e) {
// Then cordova 7.0
var project_files = context.requireCordovaModule('glob').sync(path.join(iosPlatformPath(), '*.xcodeproj', 'project.pbxproj'));

if (project_files.length === 0) {
throw new Error('does not appear to be an xcode project (no xcode project file)');
}

var pbxPath = project_files[0];

var xcodeproj = context.requireCordovaModule('xcode').project(pbxPath);
xcodeproj.parseSync();

projectFile = {
'xcode': xcodeproj,
write: function () {
var fs = context.requireCordovaModule('fs');

var frameworks_file = path.join(iosPlatformPath(), 'frameworks.json');
var frameworks = {};
try {
frameworks = context.requireCordovaModule(frameworks_file);
} catch (e) { }

fs.writeFileSync(pbxPath, xcodeproj.writeSync());
if (Object.keys(frameworks).length === 0){
// If there is no framework references remain in the project, just remove this file
context.requireCordovaModule('shelljs').rm('-rf', frameworks_file);
return;
}
fs.writeFileSync(frameworks_file, JSON.stringify(this.frameworks, null, 4));
}
};
}
}

return projectFile;
}

构建错误将被删除。 归功于David @peterpeterparker

这是一个快速修复解决方案,仅供临时使用。

关于cordova - Ionic-Firebase 应用程序错误 : Cannot find module '../plugman/platforms/ios' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48245006/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com