ios-control / ios-deploy Goto Github PK
View Code? Open in Web Editor NEWThis project forked from 10p-freddo/fruitstrap
Install and debug iPhone apps from the command line, without using Xcode
License: GNU General Public License v3.0
This project forked from 10p-freddo/fruitstrap
Install and debug iPhone apps from the command line, without using Xcode
License: GNU General Public License v3.0
ios-deploy --detect indicates whether a device is connected, but not if the device is locked.
ios-deploy --debug fails with error 254 if it is unable to launch the app because they device is locked, but it would be nice to be able to detect a locked device in advance of actually deploying.
To allow fully-autonomous running of programs, can you add an option to exit lldb after the iOS application terminates.
At the moment we just have the hack of "wait a bit, then kill it".
My command line is
./ios-deploy -d -b myappnamehere.app
I get
------ Debug phase ------
[ 0%] Looking up developer disk image
[ 30%] Copying DeveloperDiskImage.dmg to device
[ 90%] Mounting developer disk image
[ 95%] Developer disk image already mounted
[100%] Connecting to remote debug server
-------------------------
(lldb) run
error: invalid target, create a debug target using the 'target create' command
Allow ios-deploy to have --justlaunch option that is a variation of noninteractive that allows the user to play like in XCode without debug
Hi,
I already tried to run my app on device with ios-deploy and it worked but now I have this error.
Assertion failed: (AMDeviceSecureTransferPath(0, device, url, options, transfer_callback, 0)==0), function handle_device, file ios-deploy.c, line 1269.
Abort trap: 6
I already clean the project using "xcodebuild clean" but no result.
I try to run my app on an Ipod touch 5g and an iPad, I got the same error
Any idea?
Hello,
I was wondering if it was possible to simultaneously run apps on mutliple devices using this tool, either attached to the debugger or not. I have some custom automated tests that I would like to kick off on several iPads at once, and it works great on a single device using the following arguments:
./ios-deploy -i {device id} -b <bundle.app> -d
or
./ios-deploy -i {device id} -b <bundle.app> -d -L
When I try to do that on multiple devices though (either by calling a script that sets off several ios-deploys in parallel or by manually entering in the commands in to separate prompts, I'm able to deploy to all the devices but only the first device ever starts the app. Is this a known limitation? Or is there any way around it? It looks like I may be able to use ios-deploy to install the app and then Apple's instruments command line interface to launch it with an empty automation script, but I thought I would ask here if there was another way. Ideally I would like to have debug output for every device running, but I would be fine without it as well.
On a related note, is it possible to start an app that is not built for debugging (ie, one signed with an enterprise adhoc certificate, or one downloaded from the App Store)?
Here is my system information in case it is helpful. Thanks!
sw_vers
ProductName: Mac OS X
ProductVersion: 10.9.4
BuildVersion: 13E28
ios-deploy -V
1.1.0
xcodebuild -version
Xcode 5.1.1
Build version 5B1008
xcode-select --print-path
/Applications/Xcode.app/Contents/Developer
gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
lldb --version
lldb-310.2.37
Running the following command "cordova run ios" to deploy app directly to iOS device.
The application builds successfully but has problems when trying to copy it over to device. On the "VerifyingApplication" step, getting following error: "AMDeviceInstallApplication failed: 0xE8008016: Unknown error."
So I was noticing that it seems like the arguments were not being passed through after the changes to use lldb. Was there a fix planned for this.
Also noticed in testing that we were having issues launching apps on older iphone4's running 6.1.3 OS. Very inconsistent, sometimes the app would launch and hang immediately. Anyone else seeing the same issues?
Whenever I deploy to my ios device via cordova run ios
or other commands, I would always end up quitting by ctrl+c, look for ios-deploy process running, and then kill it. There has to be a cleaner way to do this.
Since updating to XCode 6 GM I haven't been able to launch the app. It seems to get hung after the connect command.
[....] Waiting for iOS device to be connected
------ Debug phase ------
Starting debug of Unknown Device 'iPad3 7.1.2' (3fa1110751e326dc33266ead6698fe1d4be81d84) connected through USB...
[ 0%] Looking up developer disk image
[ 90%] Mounting developer disk image
[ 95%] Developer disk image already mounted
(lldb) command source -s 0 '/tmp/fruitstrap-lldb-prep-cmds-3fa1110751e326dc33266ead6698fe1d4be81d84'
Executing commands in '/private/tmp/fruitstrap-lldb-prep-cmds-3fa1110751e326dc33266ead6698fe1d4be81d84'.
(lldb) platform select remote-ios --sysroot '/Users/username/Library/Developer/Xcode/iOS DeviceSupport/7.1.2 (11D257)/Symbols'
Platform: remote-ios
Connected: no
SDK Path: "/Users/username/Library/Developer/Xcode/iOS DeviceSupport/7.1.2 (11D257)/Symbols"
(lldb) target create "/Users/username/git/application/ios/MyApp/DerivedData/MyApp/Build/Products/Automation-iphoneos/MyAppQA.app"
Current executable set to '/Users/username/git/application/ios/MyApp/DerivedData/MyApp/Build/Products/Automation-iphoneos/MyAppQA.app' (armv7).
(lldb) script fruitstrap_device_app="/private/var/mobile/Applications/FB5B092C-4AC9-45AA-8F6F-2366341E91C0/MyAppQA.app"
(lldb) script fruitstrap_connect_url="connect://127.0.0.1:44359"
(lldb) command script import "/tmp/fruitstrap_3fa1110751e326dc33266ead6698fe1d4be81d84.py"
(lldb) command script add -f fruitstrap_3fa1110751e326dc33266ead6698fe1d4be81d84.connect_command connect
(lldb) command script add -s asynchronous -f fruitstrap_3fa1110751e326dc33266ead6698fe1d4be81d84.run_command run
(lldb) command script add -s asynchronous -f fruitstrap_3fa1110751e326dc33266ead6698fe1d4be81d84.autoexit_command autoexit
(lldb) command script add -s asynchronous -f fruitstrap_3fa1110751e326dc33266ead6698fe1d4be81d84.safequit_command safequit
(lldb) connect
Process 0 connected
Interestingly I'm able to run using an extremely old version of ios-deploy, although there is the 60 second delay before launch.
------ Install phase ------
[....] Waiting for iOS device to be connected
------ Debug phase ------
[ 0%] Looking up developer disk image
[ 90%] Mounting developer disk image
[ 95%] Developer disk image already mounted
(lldb) command source -s 0 '/tmp/fruitstrap-lldb-prep-cmds-3fa1110751e326dc33266ead6698fe1d4be81d84'
Executing commands in '/private/tmp/fruitstrap-lldb-prep-cmds-3fa1110751e326dc33266ead6698fe1d4be81d84'.
(lldb) platform select remote-ios --sysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/*
Platform: remote-ios
Connected: no
SDK Path: "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/*"
(lldb) target create "/Users/username/git/application/ios/MyApp/DerivedData/MyApp/Build/Products/Automation-iphoneos/MyAppQA.app"
Current executable set to '/Users/username/git/application/ios/MyApp/DerivedData/MyApp/Build/Products/Automation-iphoneos/MyAppQA.app' (armv7).
(lldb) script fruitstrap_device_app="/private/var/mobile/Applications/FB5B092C-4AC9-45AA-8F6F-2366341E91C0/MyAppQA.app"
(lldb) script fruitstrap_connect_url="connect://127.0.0.1:15440"
(lldb) command script import "/tmp/fruitstrap3fa1110751e326dc33266ead6698fe1d4be81d84.py"
Process 0 connected
(lldb) pro hand -p false -s false -n false SIGPIPE
NAME PASS STOP NOTIFY
========== ===== ===== ======
SIGPIPE false false false
(lldb) run
success
Process 5604 stopped
_dyld_start, stop reason = shared-library-event frame #0: 0x2beac0cc dyld
gdb_image_notifierdyld`dyldbootstrap::start(macho_header const_, int, char const__, long, macho_header const_, unsigned long*):
0x2beac0d0: push {r4, r5, r6, r7, lr}
0x2beac0d2: add r7, sp, #0xc
0x2beac0d4: push.w {r8, r10, r11}
(lldb) 2014-09-15 15:47:13.156 MyAppQA[5604:60b] MyApp (MyAppDelegate): application:didFinishLaunchingWithOptions:(null)
(lldb) 2014-09-15 15:47:13.891 MyAppQA[5604:60b] MyAppSDK (UIWebView+LocalStorageLocation): sandbox rootPath /var/mobile/Applications/FB5B092C-4AC9-45AA-8F6F-2366341E91C0
While running the NPM install command, i get the following errors;
$ sudo npm install -g ios-deploy
|
> [email protected] preinstall /usr/local/lib/node_modules/ios-deploy
> make ios-deploy
rm -rf *.app demo ios-deploy
gcc -ObjC -g -o ios-deploy -framework Foundation -framework CoreFoundation -framework MobileDevice -F/System/Library/PrivateFrameworks ios-deploy.c
In file included from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:146,
from /System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:38,
from ios-deploy.c:3:
/usr/include/MacTypes.h: In function ‘Debugger’:
/usr/include/MacTypes.h:693: error: expected declaration specifiers before ‘__AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8’
/usr/include/MacTypes.h:705: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8’
/usr/include/MacTypes.h:752: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8’
/usr/include/MacTypes.h:764: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8’
/usr/include/MacTypes.h:776: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8’
/usr/include/MacTypes.h:786: error: expected declaration specifiers before ‘#pragma’
In file included from /System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:38,
from ios-deploy.c:3:
/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:405: error: storage class specified for parameter ‘CFTypeID’
/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:406: error: storage class specified for parameter ‘CFOptionFlags’
/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:407: error: storage class specified for parameter ‘CFHashCode’
/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:408: error: storage class specified for parameter ‘CFIndex’
/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:412: error: storage class specified for parameter ‘CFTypeRef’
/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:414: error: storage class specified for parameter ‘CFStringRef’
/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:415: error: storage class specified for parameter ‘CFMutableStringRef’
This continues to likes 10.000 lines with these kind of syntax errors.
Running it on a OSX 10.8.5 machine.
https://github.com/samdmarshall/SDMMobileDevice
The limitation is, it can't launch applications or attach a debugger to it (yet), so probably wait for that support.
To submit to Homebrew: http://mxcl.github.io/homebrew/
After run, which returns right away, you might wait up 60-70 seconds before the app is usable.
Some stdout output is sent, then it waits 20 more seconds before the app is usable.
Is it possible to launch an app after installing it without keeping lldb
open? The non interactive mode only quits when application exits.
In xcode 4.x you were able to build with TEST_AFTER_BUILD=YES flag and subsequently deploy using fruitstrap and my tests would launch. I haven't seen a way to do this here...any ideas?
As stated in summary, if the connected iOS device is locked, the launcher fails and hence lldb hangs The issue is in run command.
Will submit a pull request
sw_vers: 10.9.4
ios-deploy: 1.0.9
Xcode 5.1.1
Build version 5B1008
/Applications/Xcode.app/Contents/Developer
gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
lldb --version
lldb-310.2.37
Without uninstall seems to work ok (apart from when #11 happens).
Adding --uninstall
hits this assertion:
$ ios-deploy --verbose --bundle test.app --uninstall --debug --noninteractive --unbuffered --args 1
[....] Waiting for iOS device to be connected
------ Uninstall phase ------
Assertion failed: (AMDeviceValidatePairing(device) == 0), function handle_device, file ios-deploy.c, line 889.
Hello,
I'm using ios-deploy to deploy my app, but it will never update my existing app. I have to remove the app prior running ios-deploy.
I haven't seen any option to update the app, this is how I'm using it:
ios-deploy -d `system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p' | grep "Serial Number:" | awk -F ": " '{print $2}' | head -n 1` -b `ls -t builds/App*ipa | head -n 1` -v
I made sure that the file is correct, I can see console logs from the device, but there are no errors there. The same line fired when I remove the app manually from the device will update it fine.
iOS 6.1.4
In my unit tests that I automate with ios-deploy, I'm looking for a way to generate a file on the iOS, and have it somehow stored on the OSX filesystem e.g. in the working directory where I launched ios-deploy from. Is something like that possible?
If not, I could always spawn up a HTTP server on the host, and have the iOS device HTTP upload the file there, but that's somewhat heavyweight. It would be nice if there was some way to achieve this with ios-deploy.
On Android I have the application write a file to the Android filesystem /sdcard/
directory, and then use adb pull
to retrive that file to the OSX file system after the application has finished running. Would it be possible to do something like this with ios-deploy?
This is what happens:
$ sudo npm install -g ios-deploy
npm http GET https://registry.npmjs.org/ios-deploy
npm http 304 https://registry.npmjs.org/ios-deploy
[email protected] preinstall /usr/local/lib/node_modules/ios-deploy
make ios-deploy
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
make: getcwd: Permission denied
rm -rf .app demo ios-deploy
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
gcc -o ios-deploy -framework CoreFoundation -framework MobileDevice -F/System/Library/PrivateFrameworks ios-deploy.c
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
clang: error: unable to make temporary file: /usr/local/lib/node_modules/ios-deploy/ios-deploy: can't make unique filename: Permission denied
make: ** [ios-deploy] Error 1
npm ERR! [email protected] preinstall: make ios-deploy
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the [email protected] preinstall script.
npm ERR! This is most likely a problem with the ios-deploy package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! make ios-deploy
npm ERR! You can get their info via:
npm ERR! npm owner ls ios-deploy
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 13.0.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "ios-deploy"
npm ERR! cwd /Users/hugoingelmo
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/hugoingelmo/npm-debug.log
npm ERR! not ok code 0
Running ./ios-deploy -d -i <UDID> -b ~/path/to/foobar.app
successfully completes the "Install phase" and "Debug phase" but after
(lldb) run
success
lldb
simply hangs. Even if I type quit
, the debugger do not exit and I'm forced to do Ctrl+C
.
Hello,
I try to install the last version with:
sudo npm install -g ios-deploy
But I have an error:
npm http GET https://registry.npmjs.org/ios-deploy
npm http 304 https://registry.npmjs.org/ios-deploy
npm http GET https://registry.npmjs.org/ios-deploy/-/ios-deploy-1.0.7.tgz
npm http 200 https://registry.npmjs.org/ios-deploy/-/ios-deploy-1.0.7.tgz
npm ERR! Error: shasum check failed for /Users/josejuan/tmp/npm-4666-vtY7t0Qx/1399933938840-0.04932064074091613/tmp.tgz
npm ERR! Expected: 24993073833b539b3cb155af2461c348e0ecdd37
npm ERR! Actual: 2853ca48b79bae24d6f5d456fdfcb97af51a558f
npm ERR! From: https://registry.npmjs.org/ios-deploy/-/ios-deploy-1.0.7.tgz
npm ERR! at /usr/local/lib/node_modules/npm/node_modules/sha/index.js:38:8
npm ERR! at ReadStream. (/usr/local/lib/node_modules/npm/node_modules/sha/index.js:85:7)
npm ERR! at ReadStream.EventEmitter.emit (events.js:117:20)
npm ERR! at _stream_readable.js:919:16
npm ERR! at process._tickCallback (node.js:419:13)
npm ERR! If you need help, you may report this entire log,
npm ERR! including the npm and node versions, at:
npm ERR! http://github.com/npm/npm/issues
npm ERR! System Darwin 13.1.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "ios-deploy"
npm ERR! cwd /Volumes/DATOS/datos/proyectos/Android/Workspace/cordova_sample/app/hello
npm ERR! node -v v0.10.28
npm ERR! npm -v 1.4.9
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Volumes/DATOS/datos/proyectos/Android/Workspace/cordova_sample/app/hello/npm-debug.log
npm ERR! not ok code 0
If I try:
sudo npm install -g [email protected]
All works fine.
What's the problem?
Thanks in advance
Can't deploy to a device. Installation stops at "VerifyingApplication", returning AMDeviceInstallApplication failed: -402620388
$ ios-deploy -d -i -b ~/project/Frankified.app -v
------ Install phase ------
[....] Waiting for iOS device to be connected
[ 0%] Found device (...), beginning install
...
[ 52%] CreatingStagingDirectory
[ 57%] ExtractingPackage
[ 60%] InspectingPackage
[ 60%] TakingInstallLock
[ 65%] PreflightingApplication
[ 70%] VerifyingApplication
AMDeviceInstallApplication failed: -402620388
First off thanks for maintaining this project, it has been a major help. I am developing a automated testing framework and need to install then run iOS apps on device and this tool meets my needs perfectly. I have it working fine through the command line
./iosdeploy -d -b .....my-app.ipa
It installs and runs the app on device correctly. However, when I script this call the tool hangs. Specifically lldb hangs with the call to
lldb.target.Launch(lldb.SBLaunchInfo(['{args}']),error)
The script i am running is the exact same as the command entered into terminal
./iosdeploy -d -b .....my-app.ipa
I have checked the environment for both invocations and also the internal_dict for lldb and there is no difference except for the variable "SHLVL" which is expected.
I am running OS X 10.9.2 with XCode 5.1, everything is up to date as of this post. Any help on this issue will be much appreciated.
Cheers,
Fergus
IWBN to be able to use ios-deploy's awesome lldb integration to "deploy" and debug an app running inside the iOS simulator (instead of an actual iOS device).
ios-deploy does not visible device (iPhone 5C) with iOS8 GM seed:
tester$ ios-deploy -c
[....] Waiting up to 5 seconds for iOS device to be connected
[....] Found (null) connected through USB.
idevice_id (from libimobiledevice) works.
Would it be possible to add support for running ios-deploy --uninstall with a .IPA file?
I'm running this to install an application, with the --uninstall to remove it first...
./ios-deploy --uninstall -b Debug-Release-4.3.ipa
The install works fine, but the uninstall fails with this...
------ Uninstall phase ------
Error: Unable to get bundle id from package Debug-Release-4.3.ipa
The work-around is to extract the IPA file and then run the same command against the extracted .APP folder instead, but it would be good if it worked with IPA off the bat... unless I'm doing something wrong.
Cheers
Joe
I think this has to do with lldb being updated:
lldb --version
lldb-310.2.36
My error message is as follows:
(lldb) run
Executing commands in '/tmp/fruitstrap-lldb-prep-cmds-'.
(lldb) platform select remote-ios --sysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/*
Platform: remote-ios
Connected: no
SDK Path: "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/*"
(lldb) target create "/Users/jkingyens/recur/platforms/ios/build/device/Recur.app"
Current executable set to '/Users/jkingyens/recur/platforms/ios/build/device/Recur.app' (armv7).
(lldb) script fruitstrap_device_app="/private/var/mobile/Applications/6D53CF72-AD0D-4632-AB4E-DB75A8DB2B03/Recur.app"
(lldb) script fruitstrap_connect_url="connect://127.0.0.1:12345"
(lldb) script fruitstrap_handle_command="command script add -s asynchronous -f fruitstrap_.fsrun_command run"
(lldb) command script import "/tmp/fruitstrap_.py"
error: the platform is not currently connected
In our continous delivery process would be amazing if this tool would just build
and sign
the .ipa
and not actually send it to any device.
e.g.
--save path/to/new.ipa --nostart --nodebug
Can you please implement it?
Thank you!!
When I run the command, I get the prompt for lldb, but when I try to use it, nothing happens, ala:
(lldb) qwerasdf
Expecting to see an error message.
My main goal is to run a dlopen command to load an xctest bundle. I tried modifying LLDB_FRUITSTRAP_MODULE, but when I ran it after the target was launched I got an obscure error message:
error: Didn't get any event after resume 1, exiting.Couldn't execute function; result was eExecutionSetupError
Any thoughts?
Has there been any movement that you know of regarding support with the new Xcode/iOS builds? I haven't been able to find anything in the ios-deploy/fruitstrap network graph.
v1.0.6
Using --verbose
, --debug
, --nointeractive
and --unbuffered
.
Might be multiple issues going on here.
------ Debug phase ------
Device support path: /Users/me/Library/Developer/Xcode/iOS DeviceSupport/7.0.4 (11B554a)
Developer disk image: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/7.1 (11D167)/DeveloperDiskImage.dmg
[ 0%] Looking up developer disk image
[ 90%] Mounting developer disk image
[ 95%] Developer disk image already mounted
[100%] Connecting to remote debug server
-------------------------
tcsetpgrp failed: Inappropriate ioctl for device
^D
^D
^D
^D
^D
^D
^D
quit
quit
qu(lldb) quit
quit
[ ... some pages later ... ]
quit
quit
quit^D
qusuccess
Executing commands in '/tmp/fruitstrap-lldb-prep-cmds-'.
(lldb) platform select remote-ios --sysroot '/Users/me/Library/Developer/Xcode/iOS DeviceSupport/7.0.4 (11B554a)/Symbols'
Platform: remote-ios
Connected: no
SDK Path: "/Users/me/Library/Developer/Xcode/iOS DeviceSupport/7.0.4 (11B554a)/Symbols"
(lldb) target create "MyApp.app"
Current executable set to 'MyApp.app' (armv7).
(lldb) script fruitstrap_device_app="/private/var/mobile/Applications/442DB2EB-C55B-47AC-8B8E-9DD449A51E29/MyApp.app"
(lldb) script fruitstrap_connect_url="connect://127.0.0.1:12345"
(lldb) command script import "/tmp/fruitstrap_.py"
(lldb) command script add -f fruitstrap_.connect_command connect
(lldb) command script add -s asynchronous -f fruitstrap_.run_command run
(lldb) connect
(lldb) settings set -- auto-confirm true
(lldb) target stop-hook add --one-liner "bt"
Stop hook #1 added.
(lldb) target stop-hook add --one-liner "quit"
Stop hook #2 added.
(lldb) run
The app then does not run, and ios-deploy hangs indefinitely.
If you try Cordova CLI's "cordova run ios" command on your PhoneGap project, you'll get an error along with a couple of resources to try in order to set it up for working:
Error: An error occurred while running the ios project.Error: ios-deploy was not found. Please download, build and install version 1.0.4 or greater from https://github.com/phonegap/ios-deploy into your path. Or 'npm install -g ios-deploy' using node.js: http://nodejs.org/
One way is through a GitHub download option. To get it working through the GitHub option, I tried following these steps:
This command does not run. I don't know what step is wrong or missing to make this work.
I get the following error whenever I try to deploy anything to a device:
Assertion failed: (AMDeviceStartService(device, CFSTR("com.apple.debugserver"), &gdbfd, NULL) == 0), function start_remote_debug_server, file ios-deploy.c, line 524.
/Developer/Projects/Pathem/App/Platforms/ios/cordova/run: line 125: 15533 Abort trap: 6 ios-deploy -d -b "$DEVICE_APP_PATH"
I'm using the most recent version of ios-deploy and cordova (3.1.0).
I just updated XCode to 6.1 ( final version). I also updated phonegap iOS platform to version 3.6.0-0.21.19.
I can't build the XCode project anymore. I'm obtaining the following error:
154:19: error: no visible @interface for 'CDVCommandDelegateImpl' declares the selector 'execute:'
return [super execute:command];
~~~~~ ^~~~~~~
1 error generated.
Any idea?
I am trying to use the -L option, and this only installs the app and does nothing else with it.
I ran into Issue #8 even though it's marked fixed, because ios-deploy.c hard-codes "7.0.4\ (11B554a)" even though on my MBP that should be "7.0.6\ (11B651)". Making that change lets the app start in ~5s instead of 30-90s.
https://github.com/phonegap/ios-deploy/blob/master/ios-deploy.c#L30
I guess a proper fix would be for ios-deploy to figure out the correct sysroot and/or die on startup if it can't.
When I try to run my cordova application in iOS simulator "cordova emulate ios"
I always get a hang up in debug phase:
[ 90%] SandboxingApplication
[100%] Installed package /Users/makarov/projects/ironworld/platforms/ios/build/device/IronWorld.app
------ Debug phase ------
[ 0%] Looking up developer disk image
[ 90%] Mounting developer disk image
[ 95%] Developer disk image already mounted
[100%] Connecting to remote debug server
-------------------------
(lldb) ^Drun
^D
^C
^D
^C
It doesn't start an emulator. I tried to wait some time, but no lucky. I even can't stop this process Ctrl-C doesn't work.
$ cordova --version
3.5.0-0.2.4
$ npm --version
1.4.16
$ node --version
v0.10.29
$ ios-deploy --version
1.0.8
sudo npm install -g ios-deploy
npm http GET https://registry.npmjs.org/ios-deploy
npm http 304 https://registry.npmjs.org/ios-deploy
[email protected] preinstall /usr/local/lib/node_modules/ios-deploy
make ios-deploy
rm -rf .app demo ios-deploy
gcc -ObjC -g -o ios-deploy -framework Foundation -framework CoreFoundation -framework MobileDevice -F/System/Library/PrivateFrameworks ios-deploy.c
cc1: error: argument to '-O' should be a non-negative integer, 'g', 's' or 'fast'
make: ** [ios-deploy] Error 1
npm ERR! [email protected] preinstall: make ios-deploy
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the [email protected] preinstall script.
npm ERR! This is most likely a problem with the ios-deploy package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! make ios-deploy
npm ERR! You can get their info via:
npm ERR! npm owner ls ios-deploy
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 13.2.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "ios-deploy"
npm ERR! cwd /Users/tobias
npm ERR! node -v v0.10.28
npm ERR! npm -v 1.4.9
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/tobias/npm-debug.log
npm ERR! not ok code 0
Can anyone help ? I habe XCode 6 beta installed - Is this causing this issue ?
Xcode is now installed in a different location than where ios-deploy looks.
I did make it work hardcoding the paths to the developerdiskimage and the arm gdb binary, but it would be better if the script could find them automatically obviously.
With iOS 7 / Xcode 5, gdb support has been removed. Support lldb.
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)
-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
Any word on Xcode 6/iOS 8 support in ios-deploy?
I've got both Xcode 5 and Xcode 6 beta installed. Not sure if it's related but deploying a bundle to device runs just fine but fails to actually mount the disk image, so the debugger is useless.
Update: managed to get the debugger to mount the disk image. I forgot I'd also had the same problem before Xcode 6 beta. Closing for now. I'll reopen if I discover what I find to be any iOS 8 related bugs.
There are no way to start app on iOS8 with new XCode 6.1.
ios-deploy version: 1.2.0
Message:
[....] Waiting for iOS device to be connected
------ Debug phase ------
Starting debug of iPhone 4S 'ip11' (<device_id>) connected through USB...
Device support path: /Users/tester/Library/Developer/Xcode/iOS DeviceSupport/8.0.2 (12A405)
Developer disk image: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/8.1 (12B411)/DeveloperDiskImage.dmg
[ 0%] Looking up developer disk image
[ !! ] Unable to mount developer disk image. (e8000033)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.