## Contributing to ios-deploy

Github url: 

        https://github.com/phonegap/ios-deploy

Git clone url: 

        https://github.com/phonegap/ios-deploy.git

## Filing an issue

Please run the commands below in your Terminal.app and include it in the issue:

```
1. sw_vers -productVersion
2. ios-deploy -V
3. xcodebuild -version
4. xcode-select --print-path
5. gcc --version
6. lldb --version

```
Also include **command line arguments** you used for ios-deploy.

Don't forget to check out the [El Capitan](https://github.com/phonegap/ios-deploy/blob/master/README.md#os-x-1011-el-capitan) section of the [README](https://github.com/phonegap/ios-deploy/blob/master/README.md) before filing that issue!


## Sending a Pull Request

Please **create a topic branch** for your issue before submitting your pull request. You will be asked to re-submit if your pull request contains unrelated commits.

Please elaborate regarding the problem the pull request is supposed to solve, and perhaps also link to any relevant issues the pull request is trying to fix.