Go to file
Shazron Abdullah 6801052024 Merge pull request #53 from senthilmanick/master
Fixes #51 - When the device is locked, ios-deploy hangs.
Fixes #52 - Enhancement: Add "Just launch" option
2014-08-04 18:56:51 -07:00
.gitignore Implements #42 - Merge file listing feature from phildrip/fruitstrap. 2014-07-30 16:26:04 -07:00
CONTRIBUTING.md Added CONTRIBUTING file 2014-05-01 23:11:25 -07:00
demo.c A combination of fixes and new features for fruitstrap. 2012-02-28 11:51:01 -05:00
Entitlements.plist Initial commit 2011-09-16 15:07:57 +01:00
Info.plist Added version to Info.plist file, fixes -402653028 error 2014-04-03 11:42:57 -07:00
ios-deploy.c updated to version 1.0.10 2014-08-03 13:43:38 -04:00
LICENSE Update LICENSE 2013-04-30 12:34:33 -07:00
Makefile Separated sdk version from full path, easier to set after updates 2014-04-03 11:45:57 -07:00
MobileDevice.h Add uninstall feature. 2014-05-09 16:02:51 -04:00
package.json Fixes #50 - Publish 1.0.9 version 2014-08-01 15:20:24 -07:00
README.md Fixes #49 - Update README with new help text #49 2014-07-31 17:49:44 -07:00
ResourceRules.plist Initial commit 2011-09-16 15:07:57 +01:00

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

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 <args>            command line arguments to pass to the app when launching it
  -t, --timeout <timeout>      number of seconds to wait for a device to be connected
  -u, --unbuffered             don't buffer stdout
  -g, --gdbargs <args>         extra arguments to pass to GDB when starting the debugger
  -x, --gdbexec <file>         GDB commands script file
  -n, --nostart                do not start the app when debugging
  -I, --noninteractive         start in non interactive mode (quit when app crashes or exits)
  -v, --verbose                enable verbose output
  -m, --noinstall              directly start debugging without app install (-d not required)
  -p, --port <number>          port used for device, default: 12345 
  -r, --uninstall              uninstall the app before install (do not use with -m; app cache and data are cleared) 
  -1, --bundle_id <bundle id>  specify bundle id for list and upload
  -l, --list                   list files
  -o, --upload <file>          upload file
  -2, --to <target pathname>	use together with upload file. specify target for upload
  -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}'