Ionic ios build fails, error archive not found

偶尔善良 提交于 2019-11-28 03:39:30

Currently cordova-ios is not compatible with Xcode 10

You can try to disable the new build system that Xcode 10 uses and use the old one by adding this to your build.json file

"buildFlag": [
  "-UseModernBuildSystem=0"
]

or adding --buildFlag="-UseModernBuildSystem=0" to the build command

The full command should be cordova build ios --buildFlag="-UseModernBuildSystem=0".

Or for Ionic ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0"

In addition to the above answer given by @jcesarmobile, another solution is to build the app with the Ionic CLI by executing the following command:

ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0"

According to the documentation of the ionic build command, to pass additional options to the Cordova CLI you should use the -- separator after the Ionic CLI arguments. The execution of the build command through Ionic CLI instead of Cordova CLI will also build web assets and provide friendly checks before cordova merely builds the app.

An Example for a working build.json (to place into your cordova / ionic project root directory) is the following content:

 {
  "ios": {
    "debug": {
      "buildFlag": [
        "-UseModernBuildSystem=0"
      ]
    },
    "release": {
      "buildFlag": [
        "-UseModernBuildSystem=0"
      ]
    }
  }
}

For more parameters about build.json see also cordova doc: https://cordova.apache.org/docs/en/latest/guide/platforms/ios/

The command suggested by jcesarmobile didn't work for me, but doing

cordova build ios --buildFlag="-UseModernBuildSystem=0"

(without ionic) succesfully completed the build.

After that I've been able to do ionic cordova build ios without any problems. (even without the buildFlag). I'm not an expert in this, in fact it was a mistake not to include ionic lol. So, although everything seems to work ok i'm not sure if there are any drawbacks in building with only cordova for the first time. Maybe someone can throw some light in the comments

In My case I have to specify the swift compiler version and workspace settings in XCODE 10.2.1

NOTE : In my project I have installed Onesignal plugin

First I specified the swift compiler version.

  1. Open the myproject-name.workspace file because cocoapods installed.
  2. Go to Build Settings Tab in xcode.
  3. Scroll very bottom of the build settings tab find Swift Compiler - Language.
  4. Select the Swift version from the Swift Language Version drop down (Ex : Swift 4).

Then Change the workspace setting

  1. Go to Xcode File Menu
  2. Select Workspace Settings
  3. Select Legacy Build System from the Build System drop down
  4. Click Done

And after all try to rebuild with following command in terminal

ionic cordova build ios
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!