Compare commits
62 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5efdcae8ce | ||
|
|
54818aae5c | ||
|
|
e882932053 | ||
|
|
cab5a31ab5 | ||
|
|
56abf4e92e | ||
|
|
05edec9562 | ||
|
|
48f7881a0b | ||
|
|
abbd1a3769 | ||
|
|
e5e2a6349d | ||
|
|
5a8d7f9efb | ||
|
|
0dece5157e | ||
|
|
e1aacc0ba1 | ||
|
|
e4c4660f2a | ||
|
|
33f6a83e1d | ||
|
|
7c9af71d86 | ||
|
|
767c386ba9 | ||
|
|
7a447b480f | ||
|
|
021c222a55 | ||
|
|
63303ea4b0 | ||
|
|
5bfc25376a | ||
|
|
7075657015 | ||
|
|
6f662ae450 | ||
|
|
4617a7df59 | ||
|
|
7ca72695b6 | ||
|
|
dbe381112a | ||
|
|
72caad4526 | ||
|
|
06187e348a | ||
|
|
b4f91912ee | ||
|
|
b796b70e29 | ||
|
|
1a309dcebf | ||
|
|
049a89e873 | ||
|
|
4aa233d147 | ||
|
|
d51bb22f23 | ||
|
|
54600a9eaf | ||
|
|
d86b0cad0d | ||
|
|
029d22ecef | ||
|
|
63917d796b | ||
|
|
0b89be65bd | ||
|
|
7742c5d532 | ||
|
|
9f0c8a85c6 | ||
|
|
c57f208422 | ||
|
|
0467b69fd8 | ||
|
|
77116e3f7c | ||
|
|
4589cd5d05 | ||
|
|
9a2da6f642 | ||
|
|
23afce0d37 | ||
|
|
4869a343e8 | ||
|
|
bf5a1e065e | ||
|
|
6bd90a5133 | ||
|
|
e2f436ad52 | ||
|
|
35097bd5a0 | ||
|
|
c85248c88a | ||
|
|
0f1ef6f4ef | ||
|
|
6801052024 | ||
|
|
616b6ab1ff | ||
|
|
55a12cb02e | ||
|
|
5f90ebb32b | ||
|
|
54a62bfdd0 | ||
|
|
3799a8a535 | ||
|
|
e466aeac66 | ||
|
|
ffe40a0fac | ||
|
|
c5d206b72c |
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,5 +1,6 @@
|
||||
demo
|
||||
demo.app
|
||||
ios-deploy
|
||||
|
||||
/.DS_Store
|
||||
ios-deploy.dSYM
|
||||
/.DS_Store
|
||||
*~
|
||||
|
||||
@@ -396,11 +396,11 @@ afc_error_t AFCFileRefOpen(afc_connection *conn, const char *path,
|
||||
afc_error_t AFCFileRefSeek(afc_connection *conn, afc_file_ref ref,
|
||||
unsigned long long offset1, unsigned long long offset2);
|
||||
afc_error_t AFCFileRefRead(afc_connection *conn, afc_file_ref ref,
|
||||
void *buf, unsigned int *len);
|
||||
void *buf, size_t *len);
|
||||
afc_error_t AFCFileRefSetFileSize(afc_connection *conn, afc_file_ref ref,
|
||||
unsigned long long offset);
|
||||
afc_error_t AFCFileRefWrite(afc_connection *conn, afc_file_ref ref,
|
||||
const void *buf, unsigned int len);
|
||||
const void *buf, size_t len);
|
||||
afc_error_t AFCFileRefClose(afc_connection *conn, afc_file_ref ref);
|
||||
|
||||
afc_error_t AFCFileInfoOpen(afc_connection *conn, const char *path, struct
|
||||
@@ -493,4 +493,4 @@ typedef unsigned int (*t_performOperation)(struct am_restore_device *rdev,
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
67
README.md
67
README.md
@@ -1,16 +1,27 @@
|
||||
ios-deploy
|
||||
==========
|
||||
Install and debug iPhone apps without using Xcode. Designed to work on unjailbroken devices.
|
||||
Install and debug iOS apps without using Xcode. Designed to work on un-jailbroken 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.
|
||||
* Mac OS X. Tested on 10.10 Yosemite and iOS 8.1
|
||||
* You need to have a valid iOS development certificate installed.
|
||||
* Xcode 6.1 should be installed
|
||||
|
||||
## Installation
|
||||
ios-deploy installation is made simple using the node.js package manager. If you use [Homebrew](http://brew.sh/), install node.js:
|
||||
```bash
|
||||
brew install node
|
||||
```
|
||||
|
||||
Now install ios-deploy with the node.js package manager:
|
||||
```bash
|
||||
$ npm install -g ios-deploy
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
./ios-deploy [OPTION]...
|
||||
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
|
||||
@@ -18,15 +29,49 @@ Install and debug iPhone apps without using Xcode. Designed to work on unjailbro
|
||||
-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)
|
||||
-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)
|
||||
-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
|
||||
-w, --download download app tree
|
||||
-2, --to <target pathname> use together with up/download file/tree. specify target
|
||||
-V, --version print the executable version
|
||||
-e, --exists check if the app with given bundle_id is installed or not
|
||||
|
||||
|
||||
## Examples
|
||||
|
||||
The commands below assume that you have an app called `my.app` with bundle id `bundle.id`. Substitute where necessary.
|
||||
|
||||
// deploy and debug your app to a connected device
|
||||
ios-deploy --debug --bundle my.app
|
||||
|
||||
// deploy and launch your app to a connected device, but quit the debugger after
|
||||
ios-deploy --justlaunch --debug --bundle my.app
|
||||
|
||||
// deploy and launch your app to a connected device, quit when app crashes or exits
|
||||
ios-deploy --noninteractive --debug --bundle my.app
|
||||
|
||||
// Upload a file to your app's Documents folder
|
||||
ios-deploy --bundle_id 'bundle.id' --upload test.txt --to Documents/test.txt
|
||||
|
||||
// Download your app's Documents, Library and tmp folders
|
||||
ios-deploy --bundle_id 'bundle.id' --download --to MyDestinationFolder
|
||||
|
||||
// List the contents of your app's Documents, Library and tmp folders
|
||||
ios-deploy --bundle_id 'bundle.id' --list
|
||||
|
||||
// deploy and debug your app to a connected device, uninstall the app first
|
||||
ios-deploy --uninstall --debug --bundle my.app
|
||||
|
||||
// check whether an app by bundle id exists on the device (check return code `echo $?`)
|
||||
ios-deploy --exists --bundle_id com.apple.mobilemail
|
||||
|
||||
## Demo
|
||||
|
||||
@@ -36,11 +81,11 @@ Install and debug iPhone apps without using Xcode. Designed to work on unjailbro
|
||||
|
||||
## 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.
|
||||
* 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). lldb 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](http://javierhz.blogspot.com/2012/06/how-to-get-udid-of-iphone-using-shell.html):
|
||||
|
||||
system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p' | grep "Serial Number:" | awk -F ": " '{print $2}'
|
||||
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}'
|
||||
|
||||
923
ios-deploy.c
923
ios-deploy.c
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "ios-deploy",
|
||||
"version": "1.0.8",
|
||||
"description": "launch iOS apps iOS devices from the command line (Xcode 5)",
|
||||
"version": "1.5.0",
|
||||
"description": "launch iOS apps iOS devices from the command line (Xcode 6)",
|
||||
"main": "ios-deploy",
|
||||
"scripts": {
|
||||
"preinstall": "make ios-deploy"
|
||||
|
||||
3
resources/buildbox/build.sh
Executable file
3
resources/buildbox/build.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
echo "$ make"
|
||||
make
|
||||
Reference in New Issue
Block a user