check_reqs (`cordova requirements`) treats Xcode different than pod or ios-deploy
- Dominant language
- JavaScript
- Stars
- 2.2k
- Forks
- 1k
- Avg merge
- 12h 11m
- Merged PRs (30d)
- 18
Description
# Bug Report
## Problem
### What is expected to happen?
`cordova requirements` should treat all the software it checks for equally and show similar error message for similar problems.
### What does actually happen?
```
λ cordova requirements
Requirements check results for ios:
Apple macOS: installed darwin
Xcode: not installed
ios-deploy: not installed
Cordova needs ios-deploy version 1.9.2 or greater, you have version . Please download, build and install version 1.9.2 or greater from https://github.com/phonegap/ios-deploy into your path, or do 'npm install -g ios-deploy'
CocoaPods: installed 1.0.1
Some of requirements check failed
```
As you can see Xcode/`xcodebuild` only gets a "not installed", while `ios-deploy` also shows a nice error message: "Cordova needs ios-deploy version 1.9.2 or greater, you have version . Please download, build and install version 1.9.2 or greater from https://github.com/phonegap/ios-deploy into your path, or do 'npm install -g ios-deploy'"
When you have a (faked) Xcode installed, the "needs version" error message is correctly displayed:
```
...
Xcode: not installed
Cordova needs xcodebuild version 7.0.0 or greater, you have version 1. Please install version 7.0.0 or greater from App Store
...
```
## Information
This system does _not_ have Xcode/`xcodebuild` and `ios-deploy` installed.
### Command or Code
`cordova requirements`
### Version information
```
λ cordova -v
8.1.2 (cordova-lib@8.1.1)
```
## Checklist
- [x] I searched for existing GitHub issues
- [x] I updated all Cordova tooling to most recent version
- [x] I included all the necessary information above
Contributor guide
Research direction
Start by running `cordova requirements` in an environment without Xcode/`xcodebuild` and `ios-deploy`, then trace the requirements checks that produce their output. Compare the missing-tool paths for Xcode and ios-deploy, and use the existing version-error wording as the expected behavior. Done means both missing tools receive similarly useful version or installation guidance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- cli, mobile-dev, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100