Ionic ios build fails, error archive not found

  • A+

I've been trying to figure this out, but there doesn't seem to be any light at the end of the tunnel, thus trying it here...hope you can help.

I have an Ionic project. Running via ionic serve gives me the result I expect, no problem there. However, when running a command like ionic cordova run ios -lc, I receive an error breaking the build process. The error I receive is the following:

[cordova] error: archive not found at path '/Users/path-to-app/platforms/ios/demoapp.xcarchive' [cordova] ** EXPORT FAILED ** [cordova] [cordova] (node:5866) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error code 65 for command: xcodebuild with args: -exportArchive,-archivePath,demoapp.xcarchive,-exportOptionsPlist,/Users/path-to-app/platforms/ios/exportOptions.plist,-exportPath,/Users/path-to-app/platforms/ios/build/device [cordova] (node:5866) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I see 2 different errors here: archive not found and a deprecation problem. Don't know which one is breaking the build but can't seem to find a solution for either one of them.

Ionic info:

Ionic:     ionic (Ionic CLI)  : 4.1.2    Ionic Framework    : ionic-angular 3.9.2    @ionic/app-scripts : 3.2.0  Cordova:     cordova (Cordova CLI) : 8.0.0    Cordova Platforms     : android 7.0.0, browser 5.0.4, ios 4.5.5    Cordova Plugins       : no whitelisted plugins (0 plugins total)  System:     Android SDK Tools : 25.1.7 (/Users/Vincent/Library/Android/sdk)    ios-deploy        : 1.9.2    NodeJS            : v9.1.0 (/usr/local/bin/node)    npm               : 6.4.1    OS                : macOS High Sierra    Xcode             : Xcode 10.0 Build version 10A255 

Any help would be appreciated!


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".

Doesn't seem to work with ionic cordova build ios --buildFlag="-UseModernBuildSystem=0" for some reason, but if you run the cordova one once then the ionic one will work after that.


:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: