Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
72cbd8d
Add --json support for list_bundle_id (#457)
ryanluoo Apr 5, 2020
d3e898f
handle errors during debugserver startup and add helper function to s…
Ukalnins Apr 23, 2020
c2c0f8d
Add iPhone SE 2G (#460)
gabebear May 1, 2020
55b011d
Exit early from install/transfer callbacks if the dictionary contains…
ryanthered May 5, 2020
dadab25
Fix a few unused variable warnings. (#463)
ivanhernandez13 Jun 23, 2020
c1050a9
fix lldb script on xcode 12 (#464)
Ukalnins Jun 26, 2020
fcbba00
Incremented version to 1.11.0
gabebear Jul 9, 2020
2d1b059
Change versions that were tested
gabebear Jul 27, 2020
9f7fe09
Add Documentation for command in #453
gabebear Jul 27, 2020
2377abc
Removing "Filing an issue" from CONTRIBUTING
gabebear Jul 27, 2020
a3d65fa
Remove ElCaptain message and add nodeJS versions
gabebear Jul 27, 2020
8371c38
Update README.md
gabebear Jul 27, 2020
e3a798c
Update README.md
gabebear Jul 27, 2020
ff9e97c
Update README.md
gabebear Jul 27, 2020
3b4f011
Update the help output
gabebear Aug 13, 2020
89c509b
Fix Large Incremental Installs (#470)
ivanhernandez13 Aug 19, 2020
dd6b949
Mark betas as only having "preliminary testing"
gabebear Aug 19, 2020
5276058
Incremented version to 1.11.1
gabebear Aug 19, 2020
8092250
fix communication with debuggserver on ios-14 (#471)
Ukalnins Aug 31, 2020
67cef1b
Incremented version to 1.11.2
ivanhernandez13 Aug 31, 2020
e722929
Incremented version to 1.11.2-beta.1
ivanhernandez13 Aug 31, 2020
ee3aec1
fix handling of utf8 in output/error paths (#473)
Ukalnins Sep 1, 2020
5322de7
add ability to execute custom scripts and commands (#472)
Ukalnins Sep 1, 2020
fad42f7
fix missing output when lldb is buffering output (#474)
Ukalnins Sep 7, 2020
b7e0b00
Incremented version to 1.11.2
ivanhernandez13 Sep 18, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 1 addition & 19 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,8 @@ 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.
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.
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Include the **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 this issue.
Don't forget to check out the [README](https://github.com/phonegap/ios-deploy/blob/master/README.md) before filing this issue.

# Expected behavior

Expand All @@ -23,6 +23,6 @@ Please run the commands below in your Terminal.app and include it in the issue.
- [ ] 4. xcode-select --print-path
- [ ] 5. gcc --version
- [ ] 6. lldb --version



- [ ] **If using NodeJS/npm**
- [ ] 7. npm -v
- [ ] 8. node -v
95 changes: 62 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,16 @@ Install and debug iOS apps from the command line. Designed to work on un-jailbro

## Requirements

* Mac OS X. Tested on 10.11 El Capitan, 10.12 Sierra, iOS 9.0 and iOS 10.0
* You need to have a valid iOS Development certificate installed.
* Xcode 7 or greater should be installed (**NOT** just Command Line Tools!)
* macOS
* You need to have a valid iOS Development certificate installed
* Xcode (**NOT** just Command Line Tools!)

#### Tested Configurations
The ios-deploy binary in Homebrew should work on macOS 10.0+ with Xcode7+. It has been most recently tested with the following configurations:
- macOS 10.14 Mojave, 10.15 Catalina and preliminary testing on 11.0b BigSur
- iOS 13.0 and preliminary testing on iOS 14.0b
- Xcode 11.3, 11.6 and preliminary testing on Xcode 12 betas
- x86 and preliminary testing on Arm64e based Apple Macintosh Computers

## Roadmap

Expand Down Expand Up @@ -43,36 +50,43 @@ python -m py_compile src/scripts/*.py && xcodebuild -target ios-deploy-lib && xc
## Usage

Usage: ios-deploy [OPTION]...
-d, --debug launch the app in lldb 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
-s, --envs <envs> environment variables, space separated key-value pairs, 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
-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)
-A, --app_deltas incremental install. must specify a directory to store app deltas to determine what needs to be installed
-p, --port <number> port used for device, default: dynamic
-r, --uninstall uninstall the app before install (do not use with -m; app cache and data are cleared)
-9, --uninstall_only uninstall the app ONLY. Use only with -1 <bundle_id>
-1, --bundle_id <bundle id> specify bundle id for list and upload
-l, --list[=<dir>] list all app files or the specified directory
-o, --upload <file> upload file
-w, --download[=<path>] download app tree or the specified file/directory
-2, --to <target pathname> use together with up/download file/tree. specify target
-D, --mkdir <dir> make directory on device
-R, --rm <path> remove file or directory on device (directories must be empty)
-V, --version print the executable version
-e, --exists check if the app with given bundle_id is installed or not
-B, --list_bundle_id list bundle_id
-W, --no-wifi ignore wifi devices
-O, --output <file> write stdout and stderr to this file
--detect_deadlocks <sec> start printing backtraces for all threads periodically after specific amount of seconds
-d, --debug launch the app in lldb 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
-s, --envs <envs> environment variables, space separated key-value pairs, 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
-n, --nostart do not start the app when debugging
-N, --nolldb start debugserver only. do not run lldb. Can not be used with args or envs options
-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)
-A, --app_deltas incremental install. must specify a directory to store app deltas to determine what needs to be installed
-p, --port <number> port used for device, default: dynamic
-r, --uninstall uninstall the app before install (do not use with -m; app cache and data are cleared)
-9, --uninstall_only uninstall the app ONLY. Use only with -1 <bundle_id>
-1, --bundle_id <bundle id> specify bundle id for list and upload
-l, --list[=<dir>] list all app files or the specified directory
-o, --upload <file> upload file
-w, --download[=<path>] download app tree or the specified file/directory
-2, --to <target pathname> use together with up/download file/tree. specify target
-D, --mkdir <dir> make directory on device
-R, --rm <path> remove file or directory on device (directories must be empty)
-X, --rmtree <path> remove directory and all contained files recursively on device
-V, --version print the executable version
-e, --exists check if the app with given bundle_id is installed or not
-B, --list_bundle_id list bundle_id
-W, --no-wifi ignore wifi devices
-C, --get_battery_level get battery current capacity
-O, --output <file> write stdout to this file
-E, --error_output <file> write stderr to this file
--detect_deadlocks <sec> start printing backtraces for all threads periodically after specific amount of seconds
-f, --file_system specify file system for mkdir / list / upload / download / rm
-F, --non-recursively specify non-recursively walk directory
-j, --json format output as JSON

## Examples

Expand Down Expand Up @@ -122,6 +136,21 @@ The commands below assume that you have an app called `my.app` with bundle id `b

// list all bundle ids of all apps on your device
ios-deploy --list_bundle_id

// list the files in cameral roll, a.k.a /DCIM
ios-deploy -f -l/DCIM

// download the file in /DCIM
ios-deploy -f -w/DCIM/100APPLE/IMG_001.jpg

// remove the file /DCIM
ios-deploy -f -R /DCIM/100APPLE/IMG_001.jpg

// make directoly in /DCIM
ios-deploy -f -D/DCIM/test

// upload file to /DCIM
ios-deploy -f -o/Users/ryan/Downloads/test.png -2/DCIM/test.png

## Demo

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ios-deploy",
"version": "1.10.0",
"version": "1.11.2",
"os": [
"darwin"
],
Expand Down
9 changes: 8 additions & 1 deletion src/ios-deploy/MobileDevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,14 @@ typedef unsigned int mach_error_t;

typedef unsigned int afc_error_t;
typedef unsigned int usbmux_error_t;
typedef unsigned int service_conn_t;

typedef struct {
char unknown[0x10];
int sockfd;
void * sslContext;
// ??
} service_conn_t;

typedef service_conn_t * ServiceConnRef;

struct am_recovery_device;
Expand Down
1 change: 1 addition & 0 deletions src/ios-deploy/device_db.h
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ device_desc device_db[] = {
ADD_DEVICE("N104AP", "iPhone 11", "iphoneos", "arm64e"),
ADD_DEVICE("D421AP", "iPhone 11 Pro", "iphoneos", "arm64e"),
ADD_DEVICE("D431AP", "iPhone 11 Pro Max", "iphoneos", "arm64e"),
ADD_DEVICE("D79AP", "iPhone SE 2G", "iphoneos", "arm64e"),

// Apple TV

Expand Down
Loading