Compare commits
73 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
125cd8de64 | ||
|
|
7070623432 | ||
|
|
d712420e60 | ||
|
|
2c35b70ff7 | ||
|
|
ea8202c506 | ||
|
|
7c1372041d | ||
|
|
b67b90be19 | ||
|
|
9156689720 | ||
|
|
a89b71bdf4 | ||
|
|
6e4df1cc07 | ||
|
|
fc667bc423 | ||
|
|
2119c10455 | ||
|
|
1db084594e | ||
|
|
8d1f79d27c | ||
|
|
8c9dab1564 | ||
|
|
54a04e203f | ||
|
|
c1a0623e49 | ||
|
|
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 |
6
Makefile
6
Makefile
@@ -1,10 +1,10 @@
|
||||
IOS_SDK_VERSION = 7.1
|
||||
IOS_SDK_VERSION = 8.3
|
||||
|
||||
IOS_CC = gcc -ObjC
|
||||
DEVICE_SUPPORT = $(shell xcode-select --print-path)/Platforms/iPhoneOS.platform/DeviceSupport
|
||||
IOS_SDK = $(shell xcode-select --print-path)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$(IOS_SDK_VERSION).sdk
|
||||
|
||||
all: clean ios-deploy
|
||||
all: clean ios-deploy demo.app
|
||||
|
||||
demo.app: demo Info.plist
|
||||
mkdir -p demo.app
|
||||
@@ -32,4 +32,4 @@ debug: all
|
||||
./ios-deploy --debug --bundle demo.app
|
||||
|
||||
clean:
|
||||
rm -rf *.app demo ios-deploy
|
||||
@rm -rf *.app demo ios-deploy
|
||||
|
||||
@@ -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
|
||||
|
||||
104
README.md
104
README.md
@@ -1,16 +1,38 @@
|
||||
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.3
|
||||
* You need to have a valid iOS Development certificate installed.
|
||||
* Xcode 6 or greater 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](https://nodejs.org):
|
||||
|
||||
```
|
||||
brew install node
|
||||
```
|
||||
|
||||
Now install ios-deploy with the [node.js](https://nodejs.org) package manager:
|
||||
|
||||
```
|
||||
npm install -g ios-deploy
|
||||
```
|
||||
|
||||
To install from source:
|
||||
|
||||
```
|
||||
make install prefix=/usr/local
|
||||
```
|
||||
|
||||
This will install ios-deploy in the `bin` folder of `/usr/local`, i.e. `/usr/local/bin`
|
||||
|
||||
## Usage
|
||||
|
||||
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,33 +40,69 @@ 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)
|
||||
-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
|
||||
-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)
|
||||
-9, --uninstall_only uninstall the app ONLY. Use only with -1 <bundle_id>
|
||||
-1, --bundle_id <bundle id> specify bundle id for list, upload, and uninstall_only
|
||||
-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
|
||||
-w, --download download app tree
|
||||
-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
|
||||
|
||||
|
||||
## 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
|
||||
|
||||
// Download the Documents directory of the app *only*
|
||||
ios-deploy --download=/Documents -bundle_id my.app.id --to ./my_download_location
|
||||
|
||||
// List ids and names of connected devices
|
||||
ios-deploy -c
|
||||
|
||||
// Uninstall an app
|
||||
ios-deploy --uninstall_only --bundle_id my.bundle.id
|
||||
|
||||
## 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.
|
||||
The included demo.app represents the minimum required to get code running on iOS.
|
||||
|
||||
* `make demo.app` will generate the demo.app executable. If it doesn't compile, modify IOS_SDK_VERSION in the Makefile.
|
||||
* `make debug` will install demo.app and launch a LLDB 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](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}'
|
||||
* 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.
|
||||
|
||||
854
ios-deploy.c
854
ios-deploy.c
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,8 @@
|
||||
{
|
||||
"name": "ios-deploy",
|
||||
"version": "1.0.9",
|
||||
"description": "launch iOS apps iOS devices from the command line (Xcode 5)",
|
||||
"version": "1.6.1",
|
||||
"os" : [ "darwin" ],
|
||||
"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