Ionic-生成应用程序的IOS版本时出错

Ionic-生成应用程序的IOS版本时出错,ios,cordova,ionic-framework,Ios,Cordova,Ionic Framework,我使用PC和Windows10开发了整个应用程序。我成功地为Android构建了这个版本,并将它上传到Play Store,在那里它已经被接受了 现在,我面临着准备iOS版本的挑战,我有点希望它会很简单。然而,几个小时后,我仍然面临着同样的问题,我不知道如何解决。运行ionic Cordova build ios时,我收到以下错误: (节点:1852)未处理的PromiserEjectionWarning:语法错误:应为“/Begin”、“/End”、“\”或[A-Za-z0-9\.]但找到“/

我使用PC和Windows10开发了整个应用程序。我成功地为Android构建了这个版本,并将它上传到Play Store,在那里它已经被接受了

现在,我面临着准备iOS版本的挑战,我有点希望它会很简单。然而,几个小时后,我仍然面临着同样的问题,我不知道如何解决。运行ionic Cordova build ios时,我收到以下错误:

(节点:1852)未处理的PromiserEjectionWarning:语法错误:应为“/Begin”、“/End”、“\”或[A-Za-z0-9\.]但找到“/”。 在peg$buildStructuredError(/Users/mitja/Projects/oventura/platforms/ios/cordova/node_modules/xcode/lib/parser/pbxproj.js:412:12) 在Object.peg$parse[as parse](/Users/mitja/Projects/oventura/platforms/ios/cordova/node_modules/xcode/lib/parser/pbxproj.js:1886:11) 在pbxProject.parseSync(/Users/mitja/Projects/oventura/platforms/ios/cordova/node_modules/xcode/lib/pbxProject.js:46:24) 在Object.parseProjectFile[as parse](/Users/mitja/Projects/oventura/platforms/ios/cordova/lib/projectFile.js:41:15) 在updateFileResources(/Users/mitja/Projects/oventura/platforms/ios/cordova/lib/prepare.js:480:33) at/Users/mitja/Projects/oventura/platforms/ios/cordova/lib/prepare.js:65:13 完成时(/Users/mitja/Projects/oventura/platforms/ios/cordova/node_modules/q/q.js:854:54) 在self.promiseDispatch.done(/Users/mitja/Projects/oventura/platforms/ios/cordova/node_modules/q/q.js:883:30) 在Promise.Promise.dispatch(/Users/mitja/Projects/oventura/platforms/ios/cordova/node_modules/q/q.js:816:13) at/Users/mitja/Projects/oventura/platforms/ios/cordova/node_modules/q/q.js:570:49(node:1852) 未处理的PromisejectionWarning:未处理的承诺拒绝。 此错误源于在没有catch块的情况下抛出异步函数的内部, 或者拒绝未使用.catch()处理的承诺。(拒绝id:1) (节点:1852)[DEP0018]弃用警告:未处理的承诺拒绝已弃用。 将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程

我不知道是什么文件或我的应用程序的哪个部分导致了错误,但我知道创建一个新项目并构建它在那里工作得很好,所以在我们的项目中肯定有一些东西(它在Windows for Android上构建得很好)

以下是我们的插件列表:

"cordova-plugin-statusbar"
"cordova-plugin-whitelist"
"cordova-plugin-device"
"cordova-plugin-splashscreen"
"cordova-plugin-ionic-webview"
"cordova-plugin-ionic-keyboard"
"cordova-plugin-datepicker"
"cordova-plugin-braintree"
"uk.co.workingedge.phonegap.plugin.launchnavigator"
"mx.ferreyra.callnumber"
对于Braintree,我必须按照插件github repo中的说明进行npm安装plist和npm安装Xcode,这样就完成了


那么,是什么导致了错误?我怎样才能成功构建iOS版本呢?

我忘了更新答案,但答案就在这里。所以问题是,正如已经发现的,braintree的插件。要真正让它工作,你必须使用官方插件的fork版本:

ionic cordova platform remove ios
ionic cordova plugin add https://github.com/dpa99c/cordova-plugin-braintree
ionic cordova platform add ios

把地理位置代码放进去

    this.platform.ready().then(() => {
  this.geolocation.getCurrentPosition().then((resp) => {
      console.log(resp.coords.latitude);
      console.log(resp.coords.longitude);

})

你是否正确删除了该插件的官方版本?我有问题。是的,即使是Android,我也有这个问题,我今晚就这样解决了。我将在IOS上尝试一些类似的插件。最后,我使用了ios@4.5.5,默认情况下,我的笔记本电脑使用的是4.5.4。已解决的问题与地理位置插件无关。:)