Go to file
Shazron Abdullah 7ca72695b6 Merge pull request #68 from senthilmanick/master
Fixed the hang when the device is locked.

When the device is locked, we get empty packets in the server.
Now fixed by closing both the lldb and server sockets.
Also after safequit, we need to detach to make the "justlaunch" option to be less error prone.

Multiple bug fixes: 
1. When multiple devices are connected, the detect was not listing all the devices ios-deploy -c -t 1
2. Fixes for issue #75 - non-interactive mode broken lldb and ios-deploy may still be running ios-deploy -b ... -d -I -L
3. Fixes for issue #60 - -L option not working properly ios-deploy will not quit or sometimes hang
4. When multiple devices are connected, cannot use -i option to specify the device ios-deploy -b ... -i -d -I -L
5. Allow timeout when downloading
2014-11-12 16:11:52 -08:00
resources/buildbox Added scripts for buildbox. 2014-10-07 14:35:45 -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 Removed the wrong comment 2014-11-12 16:23:20 -05: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 Merged with phone-gap and fixed the hang 2014-10-13 16:59:19 -04:00
package.json Merged with phone-gap and fixed the hang 2014-10-13 16:59:19 -04:00
README.md Merged with phone-gap and fixed the hang 2014-10-13 16:59:19 -04: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)
  -L, --justlaunch             just launch the app and exit lldb
  -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 '/iPod/,/Serial/p' | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p' | grep "Serial Number:" | awk -F ": " '{print $2}'