"cordova run ios " in Windows not works - ios

I install "ionic cordova run ios" on my PC (Windows 10) but I got an error message
"[ERROR] An error occurred while running subprocess cordova."
Does anyone know how to fix this?

To build an app for iOS you need to have the xcode command line tools installed. Cordova looks for these tools before building. If you don't have that, you can't build your app for iOS.
If you want to build your app for iOS you'll need a Mac with xcode and Cordova installed. Or you could use a virtual machine to do it. For more information on the virtual machine option have look here

Related

Apache Cordova, Visual Studio 2015, Xcode 8.3 cannot remotebuild

It has been a year since I first build the app, and of course my iPhone software has updated since then. With that I was informed that I needed to update Xcode in order to get the right platform to get a release version for my cordova app updates. Updating xcode required me to update the OS to Sierra on the mac. After that, I have been unable to remotebuild even my debug version, which I had been able to do before.
My constant issue right now is that when I build the app in remote build it keeps adding "ios": "4.0.1" to the platforms.json file, but the error I receive is that with xcode 8.3 I need 4.3.0 or greater.
I cannot figure out how to update this value. I have upgraded npm, node, everything that I can think of. Nothing changes the value, and I can't seem to find anyone else with my problem.
Any help or suggestions would be welcome.
First, open up project platforms folder and delete ios folder. Then update cordova on your development machine and Mac.
For Mac : $ sudo npm install -g cordova
For Windows: npm install -g cordova
Just check whether your files getting deployed to the Mac build folder path. If so, open up the project using XCode.
Then build your project using XCODE. Most probably there will be an error to choose the development team. Once you select the account or the team fom dropdown list you can deploy the app without any issues.
That worked for me. Hope this will help you too.
Another way: Navigate to platforms folder -> platforms.json. Check the IOS version. Change it to 4.3.0 and delete the ios folder and add IOS 4.3.0 via command prompt.
packages.json
{
"android": "5.1.1",
"ios": "4.3.0"
}
in cmd Run
cordova platform add ios#4.3.0
Well, be ready for many actions to be done but in the end it works. )
Update your XCode to 8.3.3 without worry.
Then be sure to update your remotebuild to the latest version that is currently 2.1.3 by running sudo npm i remotebuild -g on your Mac.
Get back to your development machine with Visual Studio and run some command line utility in administrator mode. Open you cordova folder from there.
Execute cordova platform rm ios to remove the current ios version under cordova. It's also advised to remove the android one by cordova platform rm android.
Update the version of CLI you use for builidng on Visual Studio. Currently it's 7.0.1. There were people that claimed that 6.5.0 also works but in my setup 7.0.1 works as well.
Get back to your command line and run cordova platform add ios#4.4.0, This is the minimal cordova ios that supports the cordova 7.0.1.
In case you removed android as well then run cordova platform add android#6.0.0. There are more progressive versions of cordova android but I found them not working.
Now get back to your Mac and remove the following folder ~/.taco-remote/node_modules.
In case you don't see this .taco-remote folder it's the hidden one so run in command line of your Mac com.apple.Finder AppleShowAllFiles true and then killall Finder to close all instances of Finder. Afterwards .taco-remote folder should be visible under your user folder ~/.
Now go back to Visual Studio and open Tools > Options > Tools for Apache Cordova and run Clear Cordova cache.
Now run your ios and it should succeed.
In case you run afterwards your android build and it fails on something like Android platform already added run the Clear cordova cache again and then your android build also should succeed.
From this point both ios and android builds should work.
Whooof. )
Good luck!
BTW, most of this solution came from this thread.

Cordova build iOS App' : "Could not find module 'npm-registry-client' (Node JS)

I try to build my Cordova App' on Iphone without success. Everything is ok with Android and Windows Phone. I always have the same error when I try to build it on Iphone or iOS simulator : "Could Not find module 'npm-registry-client'".
Here's some screens:
PC:
Mac (Remote Build):
I use Visual studio 2015 on Windows PC,Angular JS framework, Npm 2.11.3 and NodeJS 0.12.7 . I've already build a blank Iphone app' with Xcode 7 on my mac. I've tried to remove the node_modules folder and reinstall Npm but it's not working...
Any suggestions?
Thanks for reading
EDIT : SOLUTION
I found the solution. 'npm-registry-client' was installed on my Windows PC but not on my Mac. In terminal,just write "npm install npm-registry-client" and everything works great!! (Emulator and device)
That error is most likely a bad install of Cordova on your Mac. Clearing out the installed Cordova version(s) from ~/.taco_home/node_modules will let the next build reinstall Cordova and should clear up the problem.
It's also possible but less likely that a Cordova install issue happened on your Windows machine instead. Reading the Output panel in VS will tell you if the error happened in the remote build log section or not. If it didn't come from the remote build, then clearing your Cordova cache and your npm cache would be the needed fix.
Hope that helps.

Visual Studio Debugger failing to connect to remote Apache Cordova app in iOS simulator

I have been trying to debug an Apache Cordova app with Visual Studio 2015 RC in a Windows 8.1 Virtual Machine. The app is running in an iOS simulator in a MAC OS host using vs-mda-remote (I've tried with different iPhone versions), but the debug always times out. There doesn't seem to be a proper error, only the following:
Starting launch process C:\Program Files (x86)\nodejs\node.exe "C:\Users\User\AppData\Roaming\npm\node_modules\vs-tac\emulator.js" --platform ios --action launch --path
"C:\XXXXX\bld\ios\Debug\buildInfo.json" --serverUrl iMac-User.local:3000 --language pt-PT --cliVersion 5.1.1 --deployTarget "iPhone 5"
Timed out connecting debugger to remote Apache Cordova app. See Output window for JavaScript console output.
------ Cordova Tools 5.1.1 already installed.
emulated - Successfully sent to ios Simulator
Emulating app at /Users/user/remote-builds/builds/5689/cordovaApp for target iPhone 5
Asking to debug in remote iOS device for buildNumber 5689 in server iMac-User.local:3000...
Fail to debug remote iOS in order to compile C:\XXXXX\bld\ios\Debug\buildInfo.json to http://iMac-User.local:3000 :
iPhone 5
I have already tried to clean cordova's cache, using vs-mda-remote --secure false and some other suggestions I found online. However, nothing seems to work. It's not the project itself, as a friend of mine is able to debug it. The configuration from his computer seem to be the same as mine.
Any ideas on what might be the problem?
Thanks.
I have found the problem, there must have been something wrong with the installation of Homebrew. So I reinstalled it, and forced install ios-webkit-debug-proxy. This solved my problem and I am now able to debug the app.

Cordova IOS Plugin installation

I am pretty new to Cordova and iOS (and MAC). I have everything set up and using Visual studio + Networked Mac. Everything is working, I can build and deploy to Simulator and device.
But when I tried to install a plugin "statusbar", I am getting this build error
"Remote build error from the build server Build failed with error 404 Not
Found: cordova-plugin-statusbar: {1}"
I have installed it in the config.xml, but for some reason when building it is not finding the plugin. Do I need to install it on the mac too or should it be deployed with the rest?
Tried installing the plugin from the Mac terminal into the VS project folder on windows, but same error.
What am I missing?

iOS emulator no longer running from command line using phonegap

My iOS emulator is no longer opening when I run "phonegap run ios" in the terminal on Mac OS X. I receive no error messages and:
[phonegap] Platform "ios" deployed to emulator.
[phonegap] successfully installed onto emulator
While this is currently a known bug, you can run the emulate command more directly (note you need to build separately):
phonegap local build ios
/platforms/ios/cordova/emulate
You can also run the application using the same technique:
phonegap local build ios
/platforms/ios/cordova/run
NOTE: When using this method to run the app on your phone, the task might get stuck on the splash screen. To fix this, launch the Activity Monitor on your Mac and quit any processes with the name "ios-deploy". From there you can launch the application on your phone by clicking the application icon.
Or, you can even look inside the generated /platforms/ios folder and launch XCode project directly to test in an emulator or on your device. Open project and click the RUN button.
IMPORTANT: with all of the above methods, you MUST run the build command before running:
phonegap local build ios
Not really an answer, but I can say this is a known bug. Here is the bug so you can track it:
https://issues.apache.org/jira/browse/CB-5103
I only had this problem after upgrading to 3.1. I downgraded to 3.0 and it works more reliably:
npm uninstall -g phonegap
npm install -g phonegap#3.0
Also had to delete the platform/ios dir and plugins/ios.json and then run 'phonegap build ios' and 'phonegap run ios'

Resources