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"
.
Or for Ionic ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0"