简体   繁体   English

Cordova ios 添加扩展 - 错误:找不到 -Info.plist 文件或 config.xml 文件

[英]Cordova ios adding extension - Error: could not find -Info.plist file, or config.xml file

I recently encountered a problem on Cordova with adding a new target app extension.我最近在 Cordova 上遇到了添加新目标应用程序扩展的问题。 What I have is a Cordova app and a custom Cordova plugin I created.我拥有的是一个 Cordova 应用程序和一个我创建的自定义 Cordova 插件。 When I add an extension to my ios app (with XCode -> file -> new -> target ... Application Extension: Custom keyboard) And then I try to install my plugin, I get the following error:当我向我的 ios 应用程序添加扩展(使用 XCode -> 文件 -> 新建 -> 目标...应用程序扩展:自定义键盘)然后我尝试安装我的插件时,出现以下错误:

Failed to install 'paykey-plugin':CordovaError: could not find -Info.plist file, or config.xml file.无法安装“paykey-plugin”:CordovaError:找不到 -Info.plist 文件或 config.xml 文件。 at Object.parseProjectFile [as parse] (/Users/Yariv/Development/workspace/paykey/paykeyCordova/platforms/ios/cordova/lib/projectFile.js:50:15) at Plugman.addPlugin (/Users/Yariv/Development/workspace/paykey/paykeyCordova/platforms/ios/cordova/lib/plugman/Plugman.js:68:31) at Api.addPlugin (/Users/Yariv/Development/workspace/paykey/paykeyCordova/platforms/ios/cordova/Api.js:202:40) at handleInstall (/Users/Yariv/npm/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:605:6) at /Users/Yariv/npm/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:403:28 at _fulfilled (/Users/Yariv/npm/lib/node_modules/cordova/node_modules/q/q.js:787:54) at self.promiseDispatch.done (/Users/Yariv/npm/lib/node_modules/cordova/node_modules/q/q.js:816:30) at Promise.promise.promiseDispatch (/Users/Yariv/npm/lib/node_modules/cordova/node_modules/q/q.js:749:13) at /Users/Yariv/npm/lib/node_modules/cordova/node_modules/q/q.js:509:49 at flush (/Users/Yariv/npm/lib/node_mo在 Object.parseProjectFile [as parse] (/Users/Yariv/Development/workspace/paykey/paykeyCordova/platforms/ios/cordova/lib/projectFile.js:50:15) 在 Plugman.addPlugin (/Users/Yariv/Development/工作空间/paykey/paykeyCordova/platforms/ios/cordova/lib/plugman/Plugman.js:68:31) 在 Api.addPlugin (/Users/Yariv/Development/workspace/paykey/paykeyCordova/platforms/ios/cordova/Api。 js:202:40) at handleInstall (/Users/Yariv/npm/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:605:6) at /Users/Yariv/npm/lib/ node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:403:28 at _fulfilled (/Users/Yariv/npm/lib/node_modules/cordova/node_modules/q/q.js:787:54) at self.promiseDispatch.done (/Users/Yariv/npm/lib/node_modules/cordova/node_modules/q/q.js:816:30) at Promise.promise.promiseDispatch (/Users/Yariv/npm/lib/node_modules/cordova) /node_modules/q/q.js:749:13) at /Users/Yariv/npm/lib/node_modules/cordova/node_modules/q/q.js:509:49 at flush (/Users/Yariv/npm/lib/节点_mo dules/cordova/node_modules/q/q.js:108:17) Error: could not find -Info.plist file, or config.xml file. dules/cordova/node_modules/q/q.js:108:17) 错误:找不到 -Info.plist 文件或 config.xml 文件。 [12:38:19] 'installPlugins' errored after 1.39 s [12:38:19] Error: Command cordova plugin add ../paykeyCordovaPlugin failed with exit code 1 at ChildProcess.exithandler (child_process.js:203:12) at emitTwo (events.js:87:13) at ChildProcess.emit (events.js:172:7) at maybeClose (internal/child_process.js:818:16) at Socket. [12:38:19] 'installPlugins' 在 1.39 秒后出错 [12:38:19] 错误:命令cordova plugin add ../paykeyCordovaPlugin在 ChildProcess.exithandler (child_process.js:203:12) 处失败,退出代码为 1在 Socket 的 ChildProcess.emit (events.js:172:7) 处的 emitTwo (events.js:87:13) 处可能关闭 (internal/child_process.js:818:16)。 (internal/child_process.js:319:11) at emitOne (events.js:77:13) at Socket.emit (events.js:169:7) at Pipe._onclose (net.js:469:12) (internal/child_process.js:319:11) atemieOne (events.js:77:13) at Socket.emit (events.js:169:7) at Pipe._onclose (net.js:469:12)

Thanks in advance提前致谢

It might because your plugin does not use the right path for *-Info.plist.这可能是因为您的插件没有为 *-Info.plist 使用正确的路径。

try to remove or add "$(SRCROOT)" before project name in project.pbxproj which locates in platforms/ios/YourAppName.xcodeproj/project.pbxproj when you open it with a text editor such as "Subline Text".尝试在 project.pbxproj 中的项目名称之前删除或添加“$(SRCROOT)”,当您使用文本编辑器(例如“Subline Text”)打开它时,它位于platforms/ios/YourAppName.xcodeproj/project.pbxproj。

eg:例如:

INFOPLIST_FILE = "$(SRCROOT)/YourAppName/YourAppName-Info.plist"; INFOPLIST_FILE = "$(SRCROOT)/YourAppName/YourAppName-Info.plist";

try to remove "$(SRCROOT)/" or add "$(SRCROOT)/"尝试删除“$(SRCROOT)/”或添加“$(SRCROOT)/”

The cordova found the wrong Info.plist. cordova 发现了错误的 Info.plist。 Maybe you manually created something in the platforms/ios, like some extensions or appclip.也许你在平台/ios 中手动创建了一些东西,比如一些扩展或 appclip。

Modify platforms/ios/cordova/lib/projectFile.js line 42,43:修改platforms/ios/cordova/lib/projectFile.js 42,43行:

 const xcBuildConfiguration = xcodeproj.pbxXCBuildConfigurationSection();
 const plist_file_entry = _.find(xcBuildConfiguration, entry => entry.buildSettings && entry.buildSettings.INFOPLIST_FILE);

to:到:

var projectName = fs
    .readdirSync(project_dir)
    .find(d => d.includes(".xcworkspace"))
    .replace(".xcworkspace", "");

    var xcBuildConfiguration = xcodeproj.pbxXCBuildConfigurationSection();
    var plist_file_entry = _.find(xcBuildConfiguration, function(entry) {
        return (
            entry.buildSettings &&
            entry.buildSettings.INFOPLIST_FILE &&
            entry.buildSettings.INFOPLIST_FILE.includes(projectName+'-Info.plist')
        );
    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 错误:找不到-Info.plist文件或config.xml文件 - Error: could not find -Info.plist file, or config.xml file 通过 Cordova config.xml 向 iOS .plist 文件添加条目 - Add entry to iOS .plist file via Cordova config.xml 通过phonegap应用中的config.xml编辑info.plist文件? - Editing the info.plist file via config.xml in phonegap app? 如何从我的iPhone应用程序的config.xml文件中的info.plist中读取密钥的值 - How to read the value for a key from the info.plist in an config.xml file in my iPhone app 错误:无法从应用程序中提取Info.plist:无法将plist文件“ /Pathof.appfile/Info.plist”解析为XML - Error: Could not extract Info.plist from application: Could not parse plist file '/Pathof.appfile/Info.plist' as XML PhoneGap:修改config.xml以向Info.plist离子iOS添加属性 - PhoneGap: modify config.xml to add properties to Info.plist ion iOS 无法打开“ Info.plist”,因为没有这样的文件 - “Info.plist” could not be opened because there is no such file iOS - 获取Info.plist文件 - iOS - Get Info.plist file Info.plist文件“没有这样的文件”错误 - Info.plist file “no such file” error 如何国际化iOS公共plist资源文件而不是“ info.plist”? - How to internationalize iOS common plist resource file not “info.plist”?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM