Невозможно добавить платформу iOS на Кордове

Я пытаюсь:

cordova platform add ios

Однако я всегда получаю следующую ошибку:

Failed to install 'cordova-plugin-whitelist':CordovaError: Plugin doesn't support this project cordova-ios version. cordova-ios: 3.8.0, failed version requirement: >=4.0.0-dev
    at checkEngines (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:116:29)
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:289:16
    at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:787:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:816:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:749:13)
    at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:557:44
    at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:355:11)
Plugin doesn't support this project cordova-ios version. cordova-ios: 3.8.0, failed version requirement: >=4.0.0-dev

Это мой package.json

    {
  "name": "App",
  "version": "1.0.0",
  "description": "App",
  "dependencies": {
    "gulp": "^3.5.6",
    "gulp-coffee": "^2.1.1",
    "gulp-sass": "2.0.0",
    "gulp-slim": "",
    "gulp-concat": "^2.2.0",
    "gulp-minify-css": "^0.3.0",
    "gulp-rename": "^1.2.0",
    "gulp-watch": "^0.6.8"
  },
  "devDependencies": {
    "bower": "^1.3.3",
    "fs": "0.0.2",
    "gulp-changed": "^1.1.1",
    "gulp-clean": "^0.3.1",
    "gulp-replace-task": "^0.1.0",
    "gulp-util": "~3.0.0",
    "shelljs": "^0.3.0",
    "yargs": "^1.3.3"
  },
  "cordovaPlugins": [
    "https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git",
    "https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git",
    "https://github.com/Pushwoosh/pushwoosh-phonegap-3.0-plugin.git",
    "https://github.com/apache/cordova-plugin-globalization.git",
    "org.apache.cordova.inappbrowser",
    "org.apache.cordova.console",
    "org.apache.cordova.device",
    "org.apache.cordova.statusbar",
    "org.apache.cordova.splashscreen",
    "org.apache.cordova.geolocation",
    "org.apache.cordova.camera",
    "org.apache.cordova.file-transfer",
    "com.ionic.keyboard",
    "./engine/cordova-crosswalk-engine-c0.6.2",
    {
      "locator": "engine/cordova-crosswalk-engine-c0.7.1",
      "id": "cordova-plugin-crosswalk-webview"
    },
    "https://github.com/apache/cordova-plugin-whitelist.git"
  ],
  "cordovaPlatforms": [
    {
      "platform": "android",
      "locator": "./engine/cordova-android-c0.6.1/"
    }
  ]
}

Любые идеи, что я могу делать неправильно?

Ответ 1

попробуйте это, сначала обновите все свои пакеты npm (это может занять некоторое время)

npm update -g

Затем попробуйте установить платформу

cordova platform add ios

Если у вас все еще есть проблема, попробуйте сначала удалить платформу (возможно, вы уже установили ее)

cordova platform rm ios

а затем снова добавить его

cordova platform add ios

вы также можете попробовать следующее:

cordova platform update ios

(отсюда https://cordova.apache.org/docs/en/5.0.0/guide_platforms_ios_upgrade.md.html#Upgrading%20iOS)

Надеюсь, что это поможет

Ответ 2

Просто используйте версию плагина whitelist, совместимую с платформой IOS 3.8.0, до официального выпуска 4.0.0.

<plugin name="cordova-plugin-whitelist" spec="1.0.0" />