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