Skip to content
This repository has been archived by the owner on Jan 5, 2022. It is now read-only.

segv at times in get_device_hardware_name #19

Open
wants to merge 257 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
257 commits
Select commit Hold shift + click to select a range
c599684
Removing last remnants of old project name.
shazron May 10, 2013
bab114a
Ignore .DS_Store
shazron May 10, 2013
bd6bdc3
Updated Makefile for homebrew
shazron May 11, 2013
cca4ef1
Updated ios-deploy to compile using clang
shazron May 11, 2013
87e5f9e
Removed clean target that might have returned error that aborted home…
shazron May 13, 2013
7cdecd6
Changed default compiler to gcc (since on Snow Leopard 10.6 gcc is th…
shazron May 28, 2013
41165f4
Added package.json for npm install
shazron Jul 21, 2013
8990de9
Updated Makefile to install 'Latest' symlink (#2)
shazron Jul 27, 2013
512e741
Use xcode-select to locate gdb binary.
HenrikNilsson May 31, 2013
ea8e9dd
Updated version to 1.0.2
shazron Jul 27, 2013
88db2f0
v1.0.3 - support npm uninstall
shazron Jul 29, 2013
79aff25
Interim checkin for issue #5 to make it compile (still has runtime er…
shazron Sep 19, 2013
017b85e
Use lldv instead of gdb debugger
shazron Oct 22, 2013
1fe3ce5
Updated README
shazron Oct 22, 2013
2c99d25
Added -V, --version option
shazron Oct 22, 2013
3854bc4
Updated version to 1.0.4
shazron Oct 22, 2013
6f78fbc
Update README.md
shazron Oct 25, 2013
d7c38e9
Enabled LLDB interactive session. Perf improvement.
zgramana Dec 10, 2013
c97735a
Added back support for -n/--nostart option.
zgramana Dec 10, 2013
486d0d9
Merge pull request #12 from zgramana/master
shazron Dec 12, 2013
42f4179
Fixes phonegap/ios-deploy#8.
zgramana Dec 14, 2013
8315062
Merge pull request #13 from zgramana/master
shazron Dec 14, 2013
fa88a73
Fixes #20 - lldb startup super-slow unless ios-deploy.c is edited to …
shazron Mar 21, 2014
ad7c97d
Updated version to 1.0.5
shazron Mar 21, 2014
7f2231b
Read port number in command line to debug app in multiple devices.
wjywbs Dec 20, 2013
a3a99e6
Remove python wrapper shell.
Mar 26, 2014
a4f3c2c
Add non interactive mode.
Mar 26, 2014
08f3b92
Fix hangup when launching from scripts.
Mar 27, 2014
c92682d
Merge pull request #22 from Unity-Technologies/master
shazron Mar 27, 2014
f1a2c40
Increment version to 1.0.6
shazron Mar 27, 2014
f54f67c
Added the two new flags from 1.0.6 to the README
shazron Mar 27, 2014
79c4cc5
Fix exiting and propagate app exit code in non interactive mode.
Apr 1, 2014
bad5fe3
Merge pull request #25 from Unity-Technologies/master
shazron Apr 2, 2014
8fc098a
Added version to Info.plist file, fixes -402653028 error
Apr 3, 2014
f0d5d58
Separated sdk version from full path, easier to set after updates
Apr 3, 2014
bab1d5b
Merge pull request #26 from oNaiPs/fix_402653028_error
shazron Apr 3, 2014
72e83d0
Merge pull request #27 from oNaiPs/better_sdk_makefile
shazron Apr 3, 2014
0a9418a
Add friendly message for code-signing check fails.
Apr 28, 2014
3ee1bca
Stop lldb's "^D" and "quit" spam in a non terminal environment.
Apr 29, 2014
6c42fd3
Merge pull request #33 from Unity-Technologies/master
shazron Apr 30, 2014
9e52fd1
Added CONTRIBUTING file
shazron May 2, 2014
cfb086e
Add uninstall feature.
wjywbs Dec 27, 2013
f728321
Merge pull request #35 from wjywbs/remove-app
shazron May 9, 2014
4f9afb7
Update version to 1.0.7
shazron May 9, 2014
42a7dbc
Updated README for --uninstall option.
shazron May 9, 2014
443abe4
Updated version to 1.0.8
shazron May 13, 2014
6fc2ee5
Updated npm version to 1.0.8
shazron May 13, 2014
c5d206b
Added an ability to pass arguments with space character to the applic…
black-square Jun 27, 2014
ffe40a0
Merge pull request #43 from black-square/master
shazron Jul 29, 2014
e466aea
Implements #42 - Merge file listing feature from phildrip/fruitstrap.
neoalienson Jun 25, 2014
3799a8a
Implements #48 - Wifi Support & Checks
alexmipego Jul 31, 2014
54a62bf
Fixes #49 - Update README with new help text #49
shazron Aug 1, 2014
5f90ebb
Fixes #50 - Publish 1.0.9 version
shazron Aug 1, 2014
55a12cb
Fix for issues 51 and 52
Aug 3, 2014
616b6ab
updated to version 1.0.10
Aug 3, 2014
6801052
Merge pull request #53 from senthilmanick/master
shazron Aug 5, 2014
0f1ef6f
Fixes #54 - Publish 1.1.0 version
shazron Aug 5, 2014
c85248c
Merge pull request #1 from phonegap/master
senthilmanick Aug 5, 2014
35097bd
Don't forget about iPods too =)
Aug 19, 2014
e2f436a
Merge pull request #57 from hinesmr/patch-1
shazron Aug 29, 2014
6bd90a5
a minor debugging version
Sep 2, 2014
bf5a1e0
fix lldb status checking
alexmipego Oct 6, 2014
4869a34
fix AFCFileRef[Read|Write] prototypes
Oct 6, 2014
23afce0
handle no --args
Oct 6, 2014
9a2da6f
Fix usage semantic and pair of resource leaks
Oct 6, 2014
4589cd5
arrange callback in read_dir for future use
Oct 6, 2014
77116e3
Merge pull request #65 from alexmipego/lldb-python-connect-fix
shazron Oct 7, 2014
0467b69
Merge pull request #66 from dot-asm/master
shazron Oct 7, 2014
c57f208
Update version to 1.2.0
shazron Oct 7, 2014
9f0c8a8
Add download option.
Oct 7, 2014
7742c5d
Allow --list and --download to pick specific subdirectories.
Oct 7, 2014
0b89be6
Merge pull request #67 from dot-asm/master
shazron Oct 7, 2014
63917d7
Added scripts for buildbox.
shazron Oct 7, 2014
029d22e
added iPhone 6
Oct 9, 2014
d86b0ca
Merged with phone-gap and fixed the hang
Oct 13, 2014
54600a9
Fixed two issues:
Oct 13, 2014
d51bb22
Fixed problem with the parser of the value of the parameter -i.
CSOscarTanner Oct 21, 2014
4aa233d
Allow the symbols and the disk images to be in different DeviceSuppor…
eddieh Nov 4, 2014
049a89e
Fix for mismatched build numbers.
eddieh Nov 4, 2014
1a309dc
Merge branch 'disk-image-fix' of https://github.com/eddieh/ios-deploy
Nov 7, 2014
b796b70
updated the version
Nov 7, 2014
b4f9191
fixed the lauch using python
Nov 12, 2014
06187e3
updated the version to 1.3.0
Nov 12, 2014
72caad4
Allow timeout for download and run
Nov 12, 2014
dbe3811
Removed the wrong comment
Nov 12, 2014
7ca7269
Merge pull request #68 from senthilmanick/master
shazron Nov 13, 2014
4617a7d
Merge pull request #72 from CSOscarTanner/master
shazron Nov 13, 2014
6f662ae
Fixes phonegap/ios-deploy#37 - AMDeviceValidatePairing fails when uni…
shazron Nov 14, 2014
7075657
Fixes phonegap/ios-deploy#74 - SIGSEGV-ed while listing the sandbox o…
shazron Nov 14, 2014
5bfc253
Update package.json version to 1.3.0
shazron Nov 14, 2014
63303ea
Removed unused gdbargs and gdbexec options.
shazron Nov 14, 2014
021c222
Update README. Removed gdbargs, gdbexec. Added download.
shazron Nov 14, 2014
7a447b4
Fixes phonegap/ios-deploy#79 - Update README.md for sample usage of i…
shazron Nov 14, 2014
767c386
Fixes phonegap/ios-deploy#80 --detect not showing non-zero exit code …
shazron Nov 14, 2014
7c9af71
Updated version to 1.3.1
shazron Nov 14, 2014
33f6a83
Fixes phonegap/ios-deploy#80 (re-fix) --detect not showing non-zero e…
shazron Nov 17, 2014
12334f8
Merge pull request #2 from phonegap/master
senthilmanick Nov 17, 2014
3dcd64f
Merge with phonegap
Nov 17, 2014
6ac0848
updated the version to 1.3.3
Nov 17, 2014
99f4010
Using debug for -c as well
Dec 7, 2014
e4c4660
Cleaned up get_device_hardware_name by using a macro (related to issu…
shazron Dec 13, 2014
e1aacc0
Model table typo (copy paste error) for iPhone 5 models.
shazron Dec 13, 2014
0dece51
Add installation instructions in README.
diaswrd Dec 15, 2014
5a8d7f9
Merge pull request #92 from diaswrd/master
shazron Dec 15, 2014
e5e2a63
Clarify what npm is and how to get it
xanderdunn Dec 23, 2014
abbd1a3
Merge pull request #94 from alexdunn/master
shazron Dec 24, 2014
8577ef3
sometimes the model is null in get_device_hardware_name; updated to
Jan 17, 2015
96e91eb
merged with phonegap/ios-deploy
Jan 20, 2015
134a0a5
The return code must be < 128 otherwise treated as a signal
Jan 27, 2015
ba60ff6
updated to version 1.3.6
Jan 27, 2015
3e8a897
when just launch, if we get an empty packet, exit without an error
Jan 29, 2015
48f7881
Fixes #105 - ios-deploy --version returns a non-zero exit code
shazron Mar 3, 2015
05edec9
Fixes #90, #91 - EXC_BAD_ACCESS crash
shazron Mar 3, 2015
56abf4e
Updated version to 1.4.0
shazron Mar 3, 2015
cab5a31
“exists” command added to check if an app with given bundle id is
urklc Mar 7, 2015
e882932
Added doc for --exists option
shazron Apr 6, 2015
54818aa
Number of fixes:
Apr 6, 2015
5efdcae
Incremented version to 1.5.0
shazron Apr 6, 2015
c1a0623
Added doc to download specific directory (ie Documents) from an insta…
shazron Apr 6, 2015
02c2379
merged with version 1.5.0
Apr 11, 2015
d90171d
updated to merge with phonegap
Apr 11, 2015
54a04e2
Add --mkdir and --rm options
luser Apr 15, 2015
8c9dab1
Merge pull request #115 from luser/mkdir
shazron Apr 18, 2015
8d1f79d
Update README to include --mkdir and --rm
luser Apr 22, 2015
1db0845
Merge pull request #116 from luser/update-readme
shazron Apr 22, 2015
5690b10
merged with phonegap
Apr 30, 2015
b72d31b
Fixed a segv happening in non english locale
May 1, 2015
0940a4d
Fixed a segv happening in non english locale
May 1, 2015
a750efa
Merge pull request #1 from senthilmanick/master
May 1, 2015
2119c10
Adding in standalone uninstall option --uninstall_only
May 7, 2015
fc667bc
Added os key to package.json (for OS X)
shazron May 12, 2015
6e4df1c
Fixes #119 - new -R is unrecognized
shazron May 12, 2015
a89b71b
Fixes #124 - new -D is unrecognized
shazron May 12, 2015
9156689
Fixes #122 - Using the -c option for listing device UUIDs instead the…
shazron May 12, 2015
b67b90b
Fixes #121 - Adding in standalone uninstall option --uninstall_only
May 12, 2015
7c13720
Updated README for --uninstall_only
shazron May 12, 2015
ea8202c
Updated version to 1.6.0
shazron May 12, 2015
2c35b70
Updated README for --uninstall_only from help text
shazron May 12, 2015
d712420
Fixes #118 - How to install without npm?
shazron May 12, 2015
7070623
Fixes #129 - "ios-deploy -c" never returns (partial revert of #122)
shazron May 13, 2015
125cd8d
Updated version to 1.6.1
shazron May 13, 2015
3857c9a
Unify error reporting.
May 14, 2015
9e45cc0
fixed not working --exists
Incont May 15, 2015
8a3dbce
More user friendly error messages.
May 15, 2015
041d12e
reverted return errorCode
Incont May 15, 2015
44b8068
Fixes #134 - Better error reporting
shazron May 15, 2015
d65b94f
Updated version to 1.6.2
shazron May 15, 2015
ed09a02
Fixes #132 - ios-deploy -c not listing devices with unicode characters
shazron May 16, 2015
18873b8
small correction in app_exists
May 16, 2015
e5fc979
added options --list_bundle_id
May 16, 2015
5d2a0d5
Updated version to 1.6.3
shazron May 16, 2015
5377d9b
Merge remote-tracking branch 'phonegap/master'
May 16, 2015
cdbe112
Forgot to increment package.json
shazron May 17, 2015
41eeedc
Merge branch 'master' of https://github.com/Incont/ios-deploy
shazron May 17, 2015
250794c
Added --list_bundle_id help text in README, added example
shazron May 17, 2015
522f7bd
Incremented version to 1.7.0
shazron May 17, 2015
609b635
Merge https://github.com/phonegap/ios-deploy
mw-senthil May 17, 2015
5aacea1
Merge https://github.com/phonegap/ios-deploy
May 17, 2015
422877c
Merge branch 'master' of https://github.com/senthilmanick/ios-deploy
May 17, 2015
39aa232
Merge pull request #137 from mathworks/master
shazron May 18, 2015
3dadb53
Revert version to 1.7.0
shazron May 18, 2015
1cb6110
Added Roadmap to README
shazron May 18, 2015
c97b972
fixed bug: Unable to load the empty file (closes #141)
May 18, 2015
11f1a89
Added NSLogOut method. Same signature as NSLog, but logs to stdout in…
shazron May 18, 2015
ddcb493
Fixes #139 - stderr incorrect. Converted on_error, on_sys_log to use …
shazron May 18, 2015
84aeaad
Fixed SIGSEV due to new NSLogOut changes.
shazron May 19, 2015
3ba7403
Fixed crash in upload due to NSLogOut changes
shazron May 19, 2015
8749a57
Fixes #126 - --download option works incorrectly
shazron May 19, 2015
590da67
Fixes #84 - Enhancement to --noninteractive (implicit --debug)
shazron May 19, 2015
6d61b7c
Fixes #83 - Enhancement to --justlaunch (implicit --debug)
shazron May 19, 2015
7d997b8
Removed buildbox shell script
shazron Jul 16, 2015
bc1bb0d
Fixes #135 - convert Makefile to Xcode project
shazron Jul 17, 2015
be506a9
Fixes #157 - Bad error formatting string in check_error()
Jul 22, 2015
73f30fd
Add text for 0xe8008019 error.
Jul 22, 2015
835e161
Add text for 0xe800801c error.
Jul 22, 2015
307a5f9
Add text for error 0xe8008018.
Jul 28, 2015
5eb1220
Add attribution for error code reverse engineering.
Aug 10, 2015
2c9ea8f
Add attribution for error code reverse engineering. Second try.
Aug 11, 2015
4d4735e
Merge pull request #159 from Unity-Technologies/error-messages
shazron Aug 15, 2015
cf9d024
Add text for errors 0xe8008016 and 0xe8008017.
Sep 15, 2015
7ac9cdb
Merge pull request #172 from Unity-Technologies/error-messages
shazron Sep 15, 2015
7b834b0
Fixes #153 - Terminating app due to uncaught exception 'NSInvalidArgu…
shazron Oct 6, 2015
34540ce
Fixed typo in README example.
shazron Oct 6, 2015
21c8dc9
Fixes #56 - Assertion failed AMDeviceSecureTransferPath (app name has…
shazron Oct 6, 2015
16f5258
Fixes #168 - Segmentation Fault 11 (when deploying an .ipa file)
shazron Oct 6, 2015
75820a0
Fixes #166 - Segfault when passed a non-existent bundle #166
shazron Oct 6, 2015
bb25caf
Fixes #164 - Error when launch application in multi-user context
shazron Oct 6, 2015
adc8a5b
Added iPhone 6s and 6s Plus models.
shazron Oct 6, 2015
3756385
Fixes #170 - ios-deploy installing over both USB and WiFi
shazron Oct 6, 2015
55d076b
Incremented version to 1.8.0
shazron Oct 7, 2015
6aa7b57
Fixes #167 - On El Cap, detect Xcode 7 properly installed
shazron Oct 7, 2015
92f6238
check_reqs - removed shelljs dependency
shazron Oct 7, 2015
d2aee71
Fixes #156 - --list command add trailing slash for directories
shazron Oct 7, 2015
bf58b61
Fixes #176 - Add documentation issue for node preinstall script (work…
shazron Oct 7, 2015
99dba4e
Fixes #157 - Bad error formatting string in check_error()
Jul 22, 2015
d10562c
Add text for 0xe8008019 error.
Jul 22, 2015
4d58838
Add text for 0xe800801c error.
Jul 22, 2015
093b4b3
Add text for error 0xe8008018.
Jul 28, 2015
ed7c70a
Add attribution for error code reverse engineering.
Aug 10, 2015
ca2e7a3
Add attribution for error code reverse engineering. Second try.
Aug 11, 2015
0390522
Add text for errors 0xe8008016 and 0xe8008017.
Sep 15, 2015
d621676
Fixes #153 - Terminating app due to uncaught exception 'NSInvalidArgu…
shazron Oct 6, 2015
5455219
Fixed typo in README example.
shazron Oct 6, 2015
5e74205
Fixes #56 - Assertion failed AMDeviceSecureTransferPath (app name has…
shazron Oct 6, 2015
2a18445
Fixes #168 - Segmentation Fault 11 (when deploying an .ipa file)
shazron Oct 6, 2015
ab39342
Fixes #166 - Segfault when passed a non-existent bundle #166
shazron Oct 6, 2015
4ce3554
Fixes #164 - Error when launch application in multi-user context
shazron Oct 6, 2015
342965c
Added iPhone 6s and 6s Plus models.
shazron Oct 6, 2015
a6e9492
Fixes #170 - ios-deploy installing over both USB and WiFi
shazron Oct 6, 2015
2f9fb43
Incremented version to 1.8.0
shazron Oct 7, 2015
8d60757
Fixes #167 - On El Cap, detect Xcode 7 properly installed
shazron Oct 7, 2015
6b7b31d
check_reqs - removed shelljs dependency
shazron Oct 7, 2015
ede5d25
Fixes #156 - --list command add trailing slash for directories
shazron Oct 7, 2015
6ce22c2
Fixes #176 - Add documentation issue for node preinstall script (work…
shazron Oct 7, 2015
5d2166f
Fixes #135 - Convert Makefile to xcodeproject. Demo in its own folder…
shazron Oct 7, 2015
9f6b415
Merge branch '135-xcode-project'
shazron Oct 7, 2015
59904aa
Updated README for new build from source instruction
shazron Oct 7, 2015
612c356
Added verbose logging for #170
shazron Oct 8, 2015
0320381
Fixes #182 - ios-deploy terminates with code 11 in difficult to pinpo…
shazron Oct 8, 2015
9909fb8
Updated version to 1.8.1
shazron Oct 8, 2015
23ea3b7
Updated package.json ver to 1.8.1
shazron Oct 8, 2015
7af1a9d
Fixes #184 - Change min xcode version for Travis CI
shazron Oct 12, 2015
6f65bb6
Fixes #183 - 'tool' undefined in check_reqs.js
shazron Oct 12, 2015
1220cac
Moved check_reqs.js to src, added jshint to npm test
shazron Oct 12, 2015
b1c717e
Removed check_reqs.js
shazron Oct 12, 2015
f6b4c3f
Ignore node_modules
shazron Oct 12, 2015
fccfde8
Increment version to 1.8.2
shazron Oct 12, 2015
3ee31bc
Typo: had two "scripts" sections in package.son
shazron Oct 13, 2015
6a8ad1e
Added no-wifi option to explicitly skip wifi connectivity.
jcworsley Nov 10, 2015
28ceb47
Merge pull request #192 from jcworsley/master
shazron Nov 24, 2015
f17fd4c
Updated version to 1.8.3
shazron Nov 24, 2015
94d56d7
Updated demo Makefile for Xcode 7.1 (iOS 9.1)
shazron Nov 24, 2015
551cdc5
Added docs for --no-wifi option
shazron Nov 24, 2015
a36b169
Added --allow-root to El-Capitan notes, and =true to --unsafe-perm
shazron Jan 5, 2016
c0988f0
Fix README - El Capitan section. Closes #200
shazron Jan 5, 2016
f0ae11a
Add a note in CONTRIBUTING.md to check out the El Capitan section of …
shazron Jan 5, 2016
922f848
Updated version to 1.8.4
shazron Jan 5, 2016
a9e9641
Fixes #194 - Segmentation fault: 11
shazron Jan 6, 2016
e57a4da
Fixes #194 - Segmentation fault: 11 (related)
shazron Jan 6, 2016
ca29173
Externalize version string into a header file (version must be in dou…
shazron Jan 6, 2016
3fef0a5
Externalized LLDB_FRUITSTRAP_MODULE python commands into external fil…
shazron Jan 6, 2016
3555b12
Typo in Run Script that resulted in appending contents to lldb.py.h
shazron Jan 6, 2016
ecb228a
Added libios-deploy target stub, and XCTests stub. ios-deploy depende…
shazron Jan 13, 2016
fd12c31
Restructured folders into src/
shazron Jan 13, 2016
3a57b33
Exported lib-ios-deploy header
shazron Jan 13, 2016
cbba8a4
Added npm scripts: test, pycompile
shazron Jan 13, 2016
0159cfc
Added Testing section in the README
shazron Jan 13, 2016
2fceef2
Updated README to reflect 1.x branch and master (dev) branch expectat…
shazron Jan 16, 2016
9a9c648
Updated version to 2.0.0
shazron Jan 16, 2016
f8bac56
Merge remote-tracking branch 'upstream/master'
Jan 19, 2016
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
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
demo
demo.app
fruitstrap
build/*
node_modules/*
/.DS_Store
*~
33 changes: 33 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
## Contributing to ios-deploy

Github url:

https://github.com/phonegap/ios-deploy

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.
10 changes: 8 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
fruitstrap is available under the provisions of the GNU General Public License,
version 3 (or later), available here: http://www.gnu.org/licenses/gpl-3.0.html
ios-deploy is available under the provisions of the GNU General Public License,
version 3 (or later), available here: http://www.gnu.org/licenses/gpl-3.0.html


Error codes used for error messages were taken from SDMMobileDevice framework,
originally reverse engineered by Sam Marshall. SDMMobileDevice is distributed
under BSD 3-Clause license and is available here:
https://github.com/samdmarshall/SDMMobileDevice
24 changes: 0 additions & 24 deletions Makefile

This file was deleted.

148 changes: 133 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,146 @@
## This project is no longer maintained.

fruitstrap
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.11 El Capitan and iOS 9.0
* You need to have a valid iOS Development certificate installed.
* Xcode 6.4 or greater should be installed

## Roadmap

See our [milestones](https://github.com/phonegap/ios-deploy/milestones).

Significant changes:

1.8.0 will use an Xcode project instead of a Makefile (to prepare for 2.0.0) (1.x branch)
2.0.0 will break out the commands into their own files, and create ios-deploy-lib for node.js use (master branch)

## Development

The legacy `1.x` version is under the `1.x` branch. Bug fixes for the `1.x` series will occur under there.
The 'master' branch now contains the `2.x` series, and is the development branch.

## 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 build from source:

```
xcodebuild
```

This will build `ios-deploy` into the `build/Release` folder.

## Testing

Run:

```
npm install && npm test
```

### OS X 10.11 El Capitan

If you are *not* using a node version manager like [nvm](https://github.com/creationix/nvm) or [n](https://github.com/tj/n), you may have to do either of these three things below when under El Capitan:

1. Add the `--unsafe-perm=true` flag when installing ios-deploy
2. Add the `--allow-root` flag when installing ios-deploy
3. Ensure the `nobody` user has write access to `/usr/local/lib/node_modules/ios-deploy/ios-deploy`

## Usage

* `fruitstrap [-d] -b <app> [device_id]`
* Optional `-d` flag launches a remote GDB session after the app has been installed.
* `<app>` must be an iPhone application bundle, *not* an IPA.
* Optional `device_id`; useful when you have more than one iPhone/iPad connected.
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
-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)
-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 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
-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

## 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 debug your app to a connected device, skipping any wi-fi connection (use USB)
ios-deploy --debug --bundle my.app --no-wifi

// 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

// list all bundle ids of all apps on your device
ios-deploy --list_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.
* 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.
5 changes: 5 additions & 0 deletions demo/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
demo
demo.app
demo.dSYM
/.DS_Store
*~
File renamed without changes.
2 changes: 2 additions & 0 deletions Info.plist → demo/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
</array>
<key>CFBundleExecutable</key>
<string>demo</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CFBundleIdentifier</key>
<string>demo</string>
<key>CFBundleResourceSpecification</key>
Expand Down
24 changes: 24 additions & 0 deletions demo/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
IOS_SDK_VERSION = 9.1

IOS_CC = gcc -ObjC
IOS_SDK = $(shell xcode-select --print-path)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$(IOS_SDK_VERSION).sdk

all: clean demo.app

demo.app: demo Info.plist
mkdir -p demo.app
cp demo demo.app/
cp Info.plist ResourceRules.plist demo.app/
codesign -f -s "iPhone Developer" --entitlements Entitlements.plist demo.app

demo: demo.c
$(IOS_CC) -g -arch armv7 -isysroot $(IOS_SDK) -framework CoreFoundation -o demo demo.c

debug: all ios-deploy
@../build/Release/ios-deploy --debug --bundle demo.app

clean:
@rm -rf *.app demo demo.dSYM

ios-deploy:
@xcodebuild -project ../ios-deploy.xcodeproj
File renamed without changes.
2 changes: 1 addition & 1 deletion demo.c → demo/demo.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ int main(int argc, const char* argv[]) {
printf("argv[%d] = %s\n", i, argv[i]);
}
return 0;
}
}
Loading