Updated version to 1.0.4
2 files changed
tree: 68364ea2b63ba88c0281fe0efcfb7e41ce811b4b
  1. .gitignore
  2. demo.c
  3. Entitlements.plist
  4. Info.plist
  5. ios-deploy.c
  6. LICENSE
  7. Makefile
  8. MobileDevice.h
  9. package.json
  10. README.md
  11. ResourceRules.plist
README.md

ios-deploy

Install and debug iPhone apps without using Xcode. Designed to work on unjailbroken devices.

Requirements

  • Mac OS X. Tested on Snow Leopard only.
  • You need to have a valid iPhone development certificate installed.
  • Xcode must be installed, along with the SDK for your iOS version.

Usage

./ios-deploy [OPTION]... -d, --debug launch the app in GDB after installation -i, --id <device_id> the id of the device to connect to -c, --detect only detect if the device is connected -b, --bundle <bundle.app> the path to the app bundle to be installed -a, --args command line arguments to pass to the app when launching it -t, --timeout number of seconds to wait for a device to be connected -u, --unbuffered don't buffer stdout -g, --gdbargs extra arguments to pass to GDB when starting the debugger -x, --gdbexec GDB commands script file -n, --nostart do not start the app when debugging -v, --verbose enable verbose output -m, --noinstall directly start debugging without app install (-d not required) -V, --version print the executable version

Demo

  • The included demo.app represents the minimum required to get code running on iOS.
  • make install will install demo.app to the device.
  • make debug will install demo.app and launch a GDB session.

Notes

  • With some modifications, it may be possible to use this without Xcode installed; however, you would need a copy of the relevant DeveloperDiskImage.dmg (included with Xcode). GDB would also run slower as symbols would be downloaded from the device on-the-fly.

Listing Device Ids

Device Ids are the UDIDs of the iOS devices. From the command line, you can list device ids this way:

    system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p' | grep "Serial Number:" | awk -F ": " '{print $2}'