Git Product home page Git Product logo

ideviceinstaller's Introduction

ideviceinstaller

A command-line application to manage apps and app archives on iOS devices.

Features

The ideviceinstaller application allows interacting with the app installation service of an iOS device.

It makes use of the fabulous libimobiledevice library that allows communication with iOS devices.

Some key features are:

  • Status: Install, upgrade, uninstall, and enumerate apps
  • Browse: Allows to retrieve a list of installed apps with filter options
  • Install: Supports app package, carrier bundle and developer .app directory
  • Format: Allows command output in plist, XML, or JSON format
  • Compatibility: Supports latest device firmware releases
  • Cross-Platform: Tested on Linux, macOS, Windows and Android platforms

Installation / Getting started

Debian / Ubuntu Linux

First install all required dependencies and build tools:

sudo apt-get install \
	build-essential \
	pkg-config \
	checkinstall \
	git \
	autoconf \
	automake \
	libtool-bin \
	libplist-dev \
	libimobiledevice-dev \
	libzip-dev \
	usbmuxd

Continue with cloning the actual project repository:

git clone https://github.com/libimobiledevice/ideviceinstaller.git
cd ideviceinstaller

Now you can build and install it:

./autogen.sh
make
sudo make install

Usage

First of all attach your device to your machine.

Then simply run:

ideviceinstaller list

This will print a list of <appid> identifiers (bundle identifiers) for use with other commands (see further below).

To install an app from a package file use:

ideviceinstaller install <file>

To uninstall an app with the <appid> from the device use:

ideviceinstaller uninstall <appid>

Please consult the usage information or manual page for a full documentation of available command line options:

ideviceinstaller --help
man ideviceinstaller

Contributing

We welcome contributions from anyone and are grateful for every pull request!

If you'd like to contribute, please fork the master branch, change, commit and send a pull request for review. Once approved it can be merged into the main code base.

If you plan to contribute larger changes or a major refactoring, please create a ticket first to discuss the idea upfront to ensure less effort for everyone.

Please make sure your contribution adheres to:

  • Try to follow the code style of the project
  • Commit messages should describe the change well without being too short
  • Try to split larger changes into individual commits of a common domain
  • Use your real name and a valid email address for your commits

We are still working on the guidelines so bear with us!

Links

License

This software is licensed under the GNU General Public License v2.0, also included in the repository in the COPYING file.

Credits

Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPadOS, tvOS, watchOS, and macOS are trademarks of Apple Inc.

ideviceinstaller is an independent software application and has not been authorized, sponsored or otherwise approved by Apple Inc.

README Updated on: 2023-07-20

ideviceinstaller's People

Contributors

blefish avatar funkym avatar gilir avatar mrmacete avatar nikias avatar paulvojta avatar tomriddly avatar zhangbozhb avatar ziggythehamster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ideviceinstaller's Issues

ideviceinstaller-ideviceinstaller.o compilation error

I downloaded a released archive and here is what I have got:

Making check in src
make[1]: Wejście do katalogu `/home/krzzel/Oprogrammovanie/ideviceinstaller-1.1.0/src'
CC ideviceinstaller-ideviceinstaller.o
ideviceinstaller.c: In function ‘main’:
ideviceinstaller.c:1058:4: error: passing argument 4 of ‘instproxy_install’ from incompatible pointer type [-Werror]
instproxy_install(ipc, pkgname, client_opts, status_cb, NULL);
^
In file included from ideviceinstaller.c:45:0:
/usr/local/include/libimobiledevice/installation_proxy.h:234:19: note: expected ‘instproxy_status_cb_t’ but argument is of type ‘void (*)(const char *, void *, void *)’

The difference is in plist.h: typedef void *plist_t; which is different from const char *.
This is already fixed in git but the fix is not released, and the released code is broken.

App wont run unless removed and reinstalled

The deployment works fine when the app is not installed, but if I try to install over the top of the current app the app will crash once opened.

Also is happing with fruitstrap so is possibly more of an iOS error more the libraries themselves but was just wondering if anybody had encountered the same issue or was able to look into it for me.

ideviceinstaller HEAD did not build Logs

Hi,
I am trying to install ideviceinstaller using command :
brew install --HEAD ideviceinstaller

I am getting error as :
dvtcddmac:~ sas$ brew install --HEAD ideviceinstaller
==> Cloning http://git.sukimashita.com/ideviceinstaller.git
Updating /Library/Caches/Homebrew/ideviceinstaller--git
==> Checking out branch master
==> Patching
==> ./autogen.sh
configure.ac:14: error: possibly undefined macro: AM_PROG_CC_C_O
configure.ac:15: error: possibly undefined macro: AC_PROG_LIBTOOL
configure.ac:74: error: possibly undefined macro: AS_COMPILER_FLAGS
./configure: line 2196: syntax error near unexpected token dist-bzip2' ./configure: line 2196:AM_INIT_AUTOMAKE(dist-bzip2 no-dist-gzip check-news)'

READ THIS: http://git.io/brew-troubleshooting

Please help...I am stuck with this

ideviceinstaller rejects valid ipa when there is no individual zip entry for the app directory

ipa files are in zip file format, and zip files are not required to list directories as individual entries. Because of the following four lines of code, ideviceinstaller rejects the ipa as invalid if the .app directory isn't listed individually:
https://github.com/libimobiledevice/ideviceinstaller/blob/master/src/ideviceinstaller.c#L245

Removing those four lines of code fixes the issue. Is there a case of an invalid ipa that those lines are catching?

Some zip implementations do not add directory entries by default, and some unzip implementations don't behave correctly if they are present. Those zip implementations that do list directories by default usually provide an option to do so (with the standard zip command line tool, the -D option will do this).

Thanks for all your work on this great tool!

Build Error

CC ideviceinstaller-ideviceinstaller.o
ideviceinstaller.c:906:20: error: comparison of integers of different signs: 'off_t' (aka 'long long') and 'zip_uint64_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
while (zfsize < zs.size) {
~~~~~~ ^ ~~~~~~~

ideviceinstaller does not work on iOS 7.1 Beta 1

I am using an iPhone 5S. The ideviceinstaller worked fine when the iOS version was 7.0.3

I just upgraded the iOS version on my device to 7.1 beta 1. And ideviceinstaller fails with the message "Could not start com.apple.mobile.installation_proxy!"

On looking at the device console log, i see:

Nov 19 20:35:29 10-1-30-218 lockdownd[25] : 001f4000 _send_message: Could not send secure message.
Nov 19 20:35:33 10-1-30-218 mobile_installation_proxy[109] : 00384000 accept_with_timeout: Timed out waiting for a connection
Nov 19 20:35:33 10-1-30-218 mobile_installation_proxy[109] : Could not check in with lockdown at 'xpc': 1

Change "-U UDID" to "-u UDID"

Unlike all the other idevice* commands, which use "-u UDID":

$ ideviceinfo --help | grep -i -- "^\s*-u"
-u, --udid UDID target specific device by its 40-digit device UDID

the deviceinstaller command uses "-U UDID":

$ ideviceinstaller --help | grep -i -- "^\s*-u"
-U, --udid UDID Target specific device by its 40-digit device UDID.
-u, --uninstall APPID   Uninstall app specified by APPID.

This is inconsistent and very error-prone, especially since ideviceinstaller treats:
$ ideviceinstaller -u 1324deadbeef...78 -i com.MyApp
as
$ ideviceinstaller --uninstall 1324deadbeef...78 --install com.MyApp
yet silently only handles the last "mode" command, as if it was given:
$ ideviceinstaller --install com.MyApp

Proposed fix:

  1. Change "-u UDID" to mean "--udid UDID" (where UDID is a 40-char-hex)
  2. Change "-U APPID" to mean "--uninstall APPID" (where APPID is not a 40-char hex)
  3. For backwards compatibility, allow:
    "-U UDID" --> "--udid UDID" + print a deprecation warning to stderr
    "-u APPID" --> "--uninstall APPID" + print a deprecation warning to stderr
  4. Fail if given multiple modes on the same command line.

ideviceinstaller is not working with iOS 10.0 beta version(Could not connect to lockdownd. Exiting.)

I am using libimobiledevice in my iOS project. I upgrade my iphone 6sPlus to iOS 10.0 beta version. i fired ideviceinfo command from my mac and get the response : Could not connect to lockdownd, error code -5

Any one know about this error??

when i am trying to install my ipa through ideviceinstaller, there I am having the following error: Could not connect to lockdownd. Exiting.

please let me know if someone know's the solution!

"zfsize < zs.size" error for libzip-1.1.2

I got an error like in issue #38 when use libzip-1.1.2.
But for libzip-0.11.2 there are no errors.

Making all in src
CC ideviceinstaller-ideviceinstaller.o
ideviceinstaller.c:924:73: error: format specifies type 'long long' but the argument has type 'ssize_t' (aka 'long') [-Werror,-Wformat]
fprintf(stderr, "Error: wrote only %d of %" PRIi64 "\n", total, amount);
~~~ ^~~~~~
ideviceinstaller.c:906:20: error: comparison of integers of different signs: 'off_t' (aka 'long long') and 'zip_uint64_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
while (zfsize < zs.size) {
~~~~~~ ^ ~~~~~~~
2 errors generated.
make[2]: *** [ideviceinstaller-ideviceinstaller.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

idevice_id -l returns wrong UDID

I installed ideviceinstaller using brew install --HEAD ideviceinstaller and I'm getting the wrong UDID returned. I get a list of UDIDs and I only have one device connected.
This is what I get
741c4f9a9c8c43bd5a42ca7c6b193d11f46c4fce
f219c51e1bdb972026c18ace54f4200a2c57ad4c
5ea052a6fd72d004232fd86da7bcec0a138b0472
The first one is the correct UDID.

Cant get idevicerestore to compile on Kali Linux

After downloading numerous of downloading tools and other incomplete files in order to complete the installations of the idevicerestore, im now stuck at this part.
Can someone please tell me what to do or what to install ?

; root@kali:# cd '/root/Downloads/idevicerestore-master'
root@kali:
/Downloads/idevicerestore-master# cd '/root/Downloads/idevicerestore-master/idevicerestore'
root@kali:/Downloads/idevicerestore-master/idevicerestore# sh autogen.sh
libtoolize: putting auxiliary files in '..'.
libtoolize: linking file '../ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: linking file 'm4/libtool.m4'
libtoolize: linking file 'm4/ltoptions.m4'
libtoolize: linking file 'm4/ltsugar.m4'
libtoolize: linking file 'm4/ltversion.m4'
libtoolize: linking file 'm4/lt
obsolete.m4'
libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
configure.ac:33: installing '../compile'
configure.ac:8: installing '../missing'
src/Makefile.am: installing '../depcomp'
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @file support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libirecovery... yes
checking for libimobiledevice... yes
checking for libplist... yes
checking for libzip... yes
checking for libcurl... yes
checking for openssl... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for native large file support... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking whether make supports nested variables... (cached) yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating docs/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
Configuration for idevicerestore 1.0:

Install prefix: .........: /usr/local

Now type 'make' to build idevicerestore 1.0,
and then 'make install' for installation.

root@kali:/Downloads/idevicerestore-master/idevicerestore# sudo make
make all-recursive
make[1]: Entering directory '/root/Downloads/idevicerestore-master/idevicerestore'
Making all in src
make[2]: Entering directory '/root/Downloads/idevicerestore-master/idevicerestore/src'
CC idevicerestore-dfu.o
dfu.c: In function ‘dfu_get_cpid’:
dfu.c:236:48: warning: implicit declaration of function ‘irecv_get_device_info’ [-Wimplicit-function-declaration]
const struct irecv_device_info device_info = irecv_get_device_info(client->dfu->client);
^~~~~~~~~~~~~~~~~~~~~
dfu.c:236:48: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
dfu.c:241:21: error: dereferencing pointer to incomplete type ‘const struct irecv_device_info’
_cpid = device_info->cpid;
^

dfu.c: In function ‘dfu_get_ecid’:
dfu.c:253:48: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
const struct irecv_device_info *device_info = irecv_get_device_info(client->dfu->client);
^~~~~~~~~~~~~~~~~~~~~
dfu.c:258:21: error: dereferencing pointer to incomplete type ‘const struct irecv_device_info’
*ecid = device_info->ecid;
^~
dfu.c: In function ‘dfu_is_image4_supported’:
dfu.c:271:48: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
const struct irecv_device_info *device_info = irecv_get_device_info(client->dfu->client);
^~~~~~~~~~~~~~~~~~~~~
dfu.c:276:21: error: dereferencing pointer to incomplete type ‘const struct irecv_device_info’
return (device_info->ibfl & IBOOT_FLAG_IMAGE4_AWARE);
^~
dfu.c: In function ‘dfu_get_ap_nonce’:
dfu.c:286:48: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
const struct irecv_device_info *device_info = irecv_get_device_info(client->dfu->client);
^~~~~~~~~~~~~~~~~~~~~
dfu.c:291:17: error: dereferencing pointer to incomplete type ‘const struct irecv_device_info’
if (device_info->ap_nonce && device_info->ap_nonce_size > 0) {
^~
dfu.c: In function ‘dfu_get_sep_nonce’:
dfu.c:310:48: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
const struct irecv_device_info *device_info = irecv_get_device_info(client->dfu->client);
^~~~~~~~~~~~~~~~~~~~~
dfu.c:315:17: error: dereferencing pointer to incomplete type ‘const struct irecv_device_info’
if (device_info->sep_nonce && device_info->sep_nonce_size > 0) {
^~
Makefile:624: recipe for target 'idevicerestore-dfu.o' failed
make[2]: *_ [idevicerestore-dfu.o] Error 1
make[2]: Leaving directory '/root/Downloads/idevicerestore-master/idevicerestore/src'
Makefile:427: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/root/Downloads/idevicerestore-master/idevicerestore'
Makefile:359: recipe for target 'all' failed
make: *** [all] Error 2
root@kali:/Downloads/idevicerestore-master/idevicerestore# sudo make install
Making install in src
make[1]: Entering directory '/root/Downloads/idevicerestore-master/idevicerestore/src'
CC idevicerestore-dfu.o
dfu.c: In function ‘dfu_get_cpid’:
dfu.c:236:48: warning: implicit declaration of function ‘irecv_get_device_info’ [-Wimplicit-function-declaration]
const struct irecv_device_info device_info = irecv_get_device_info(client->dfu->client);
^~~~~~~~~~~~~~~~~~~~~
dfu.c:236:48: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
dfu.c:241:21: error: dereferencing pointer to incomplete type ‘const struct irecv_device_info’
_cpid = device_info->cpid;
^

dfu.c: In function ‘dfu_get_ecid’:
dfu.c:253:48: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
const struct irecv_device_info *device_info = irecv_get_device_info(client->dfu->client);
^~~~~~~~~~~~~~~~~~~~~
dfu.c:258:21: error: dereferencing pointer to incomplete type ‘const struct irecv_device_info’
*ecid = device_info->ecid;
^~
dfu.c: In function ‘dfu_is_image4_supported’:
dfu.c:271:48: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
const struct irecv_device_info *device_info = irecv_get_device_info(client->dfu->client);
^~~~~~~~~~~~~~~~~~~~~
dfu.c:276:21: error: dereferencing pointer to incomplete type ‘const struct irecv_device_info’
return (device_info->ibfl & IBOOT_FLAG_IMAGE4_AWARE);
^~
dfu.c: In function ‘dfu_get_ap_nonce’:
dfu.c:286:48: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
const struct irecv_device_info *device_info = irecv_get_device_info(client->dfu->client);
^~~~~~~~~~~~~~~~~~~~~
dfu.c:291:17: error: dereferencing pointer to incomplete type ‘const struct irecv_device_info’
if (device_info->ap_nonce && device_info->ap_nonce_size > 0) {
^~
dfu.c: In function ‘dfu_get_sep_nonce’:
dfu.c:310:48: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
const struct irecv_device_info *device_info = irecv_get_device_info(client->dfu->client);
^~~~~~~~~~~~~~~~~~~~~
dfu.c:315:17: error: dereferencing pointer to incomplete type ‘const struct irecv_device_info’
if (device_info->sep_nonce && device_info->sep_nonce_size > 0) {
^~
Makefile:624: recipe for target 'idevicerestore-dfu.o' failed
make[1]: *_ [idevicerestore-dfu.o] Error 1
make[1]: Leaving directory '/root/Downloads/idevicerestore-master/idevicerestore/src'
Makefile:427: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1

Segmentation fault: 11

ideviceinstaller keeps returning Segmentation fault: 11 whenever I try to install an .ipa (I've tried on an iPhone and an iPad, both running iOS 7).

Even the simple command ideviceinstaller -l gives this error. Sometimes a dialog appears on the device asking me if I want to trust the computer but clicking on 'Trust' doesn't solve the problem.

If I run idevicepair unpair and try again, sometimes, the output is Could not connect to lockdownd. Exiting. instead of the segmentation one.

I'm on Mavericks (OS X 10.9.2) and to install the tools I did:

brew install libimobiledevice
brew install ideviceinstaller

screenshot 2014-03-18 18 01 00

works on IOS 8.3???

hey guys,

I updated my apple devices to IOS 8.3, and I'm not able to manage any app from Ubuntu since then...

Is it working and I'm doing something wrong ...or is no support yet?

the error I get is

Could not start com.apple.mobile.installation_proxy!

Thanks

[SOLVED] Failed to install with 'libimobiledevice' error

any help pls?
done: brew update + brew doctor.
MAC OS X 10.10.4

brew install --HEAD ideviceinstaller
==> Cloning http://git.sukimashita.com/ideviceinstaller.git
Updating /Library/Caches/Homebrew/ideviceinstaller--git
==> Checking out branch master
==> ./autogen.sh
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
./configure: line 12089: syntax error near unexpected token libimobiledevice,' ./configure: line 12089:PKG_CHECK_MODULES(libimobiledevice, libimobiledevice-1.0 >= 1.2.0)'

can not restore

Hi

I try archive app or app's docs_only
both restore fail on the same iphone4(iOS 7.1.2)

my goal is backup from one iphone app's data(such as line,what's app)
and restore to the other iphone
due to my destination iphone's capacity is small then source iphone
I can't just backup/restore to move iphone's data
so I separate the backup procedure and transfer data manually

command:
ideviceinstaller -a jp.naver.line -o docs_only -o copy=. -o remove
or
ideviceinstaller -a jp.naver.line -o copy=. -o remove
or
without "-o remove"
and
ideviceinstaller -r jp.naver.line (or jp.naver.line.ipa I also tried )

result:
Restore - Error occurred: APIInternalError

another try....
command:
ideviceinstaller -i jp.naver.line.ipa
result:
Unable to locate app directory in archive!

What is the right usage of ideviceinstaller restore( -r)??

Thanks

ideviceinstaller is not working with iOS 10.1 released version(Could not connect to lockdownd. Exiting.)

Hi,
My:

  • Mac OS version: 10.11.6
  • iPhone model: iPhone 6 Plus
  • iOS version: 10.0.1
  • ideviceinstaller: installed latest version at 22-Sep-2016
  • Xcode version: 7.3.1

I tried to use ideviceinstaller command to install IPA file to my target iPhone, and get a error:

Could not connect to lockdownd. Exiting.

and then I googled and found some solution from ideviceinstall's github issue list, and the solution is changed the privileges of directory /var/db/lockdown to 777 by command:

sudo chmod -R 777 /var/db/lockdown/

after the privilege changed command run, I still gets Could not connect to lockdownd error message.

and then I tried run ideviceinstaller IPA installation command to a iPhone with iOS 9.3.2, and the installation was succeeded.

could you kindly help to provide some solution to fix ideviceinstaller installation command to iOS 10 released version?

Thanks.

a issue about ideviceinstaller archive APP

I use the cmd archive a ipa package! there has a problem,
the -o docs_only cmd is invalid.

ideviceinstaller -a com.tongbu.tuihd.LWC432R5KJ -o docs_only

but the result has no documents!

[OS X 10.11.6] Can't compile master branch

➜  ideviceinstaller git:(master) make
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in src
  CC       ideviceinstaller-ideviceinstaller.o
ideviceinstaller.c:928:73: error: format specifies type 'long long' but the argument has type 'ssize_t' (aka 'long') [-Werror,-Wformat]
                                                                fprintf(stderr, "Error: wrote only %d of %" PRIi64 "\n", total, amount);
                                                                                                         ~~~                    ^~~~~~
ideviceinstaller.c:910:20: error: comparison of integers of different signs: 'off_t' (aka 'long long') and 'zip_uint64_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
                                        while (zfsize < zs.size) {
                                               ~~~~~~ ^ ~~~~~~~
2 errors generated.
make[2]: *** [ideviceinstaller-ideviceinstaller.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

I tried to comment line 928 and change line 910 to
while (zfsize < (unsigned) zs.size) {,

but now I am getting this error when I trying to install IPA:

ERROR: Install failed. Got error "ApplicationVerificationFailed" with code 0xe8008001: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.DJ3jjb/extracted/Payload/PlexMobile.app : 0xe8008001 (An unknown error has occurred.)

Archive failed in iOS 9.0.2

all package from home page's tar
ios device: iphone 4s - ios version: 9.0.2
command:
ideviceinstaller -a [BUNDLE ID] -o copy=. -o remove
result:
ERROR: Archive failed. Got error "UnknownCommand".

Compile fail on Windows

I tryed to compile on Windows 7 (MinGW), but got some compile errors:

make all-recursive
make[1]: Entering directory /c/projects/OpenSource/ideviceinstaller' Making all in src make[2]: Entering directory/c/projects/OpenSource/ideviceinstaller/src'
CC ideviceinstaller-ideviceinstaller.o
ideviceinstaller.c: In function 'idevice_wait_for_command_to_complete':
ideviceinstaller.c:335:18: error: storage size of 'ts' isn't known
struct timespec ts;
^
ideviceinstaller.c:346:3: error: implicit declaration of function 'nanosleep' [-Werror=imp
licit-function-declaration]
nanosleep(&ts, NULL);
^
ideviceinstaller.c:335:18: error: unused variable 'ts' [-Werror=unused-variable]
struct timespec ts;
^
ideviceinstaller.c: In function 'afc_upload_file':
ideviceinstaller.c:579:5: error: unknown conversion type character 'z' in format [-Werror=
format=]
fprintf(stderr, "Error: wrote only %d of %zu\n", total, amount);
^
ideviceinstaller.c:579:5: error: too many arguments for format [-Werror=format-extra-args]

ideviceinstaller.c: In function 'main':
ideviceinstaller.c:860:4: error: implicit declaration of function 'asprintf' [-Werror=impl
icit-function-declaration]
if ((asprintf(&pkgname, "%s/%s", PKG_PATH, basename(ipcc)) > 0) && pkgname) {
^
cc1.exe: all warnings being treated as errors
make[2]: *** [ideviceinstaller-ideviceinstaller.o] Error 1
make[2]: Leaving directory /c/projects/OpenSource/ideviceinstaller/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/c/projects/OpenSource/ideviceinstaller'
make: *** [all] Error 2

Could you fix those small compile issues?

ideviceinstaller install gets stuck on making depend in crypto... step

While trying to install ideviceinstaller using brew, it gets stuck at this step

making links in tools...
make[1]: Nothing to be done for `links'.
generating dummy tests (if needed)...
md2test.c => dummytest.c
rc5test.c => dummytest.c
jpaketest.c => dummytest.c

Since you've disabled or enabled at least one algorithm, you need to do
the following before building:

    make depend

Configured for darwin64-x86_64-cc.
==> make depend
making depend in crypto...

Any ideas on what may be happening here?

Error while trying to install application in iOS 8

Hey,

I'm running a Linux machine and installed ideviceinstaller. The device is an iPhone 5S on iOS 8. But when I try to run the command gives me this error code: Could not connect to lockdownd. Exiting.

Any idea how I can fix this?

Transfer purchases

with itunes you can ask for "Transfer purchases" while backing up your device. then when you restore to a new device it also restores the applications (the "purchases").

how this can be done with the libimobiledevice tools?

archive issues in iOS 9 beta 5

In iOS 8.4.1 (non-jb), I am able to install, remove, and archive apps with no issues using ideviceinstaller from an OS X Mavericks box. In iOS 9 beta 5, I can still install and remove, but am having issues with archival.

$ ideviceinstaller -a com.activision.gw3.dimensions -o copy=iphone/
ERROR: Archive failed. Got error "UnknownCommand".

Checking idevicesyslog gives the following:

Sep  3 16:12:26 IOS9-test-device mobile_installation_proxy[190] <Error>: 0x16e1bb000 handle_connection: Unknown command

Is this expected at this point, or do you have any ideas on what may be causing this issue?

Thanks!

can't install .ipa file IOS 10 xCode 8

Hello

Please help me
I can't install .ipa file

I'm alway getting:
ideviceinstaller -d -i $HOME/build/MyApp.ipa
WARNING: could not locate iTunesMetadata.plist in archive!
WARNING: could not locate Payload/DISH.app/Info.plist in archive!

before iOS 10 this command worked great

Thanks

[OSX 10.11.6] Couldn't connect to lockdown

I lived with libimobiledevice/ideviceinstaller with no issues for 2 years. But 2 days ago I upgraded to OSX 10.11.6 (in order to install Xcode 8 GM) and now I always get

ERROR: Could not connect to lockdownd, error code -21
alexanders-mbp:Android Alex$ ideviceinfo
ERROR: Could not connect to lockdownd, error code -19
alexanders-mbp:Android Alex$ ideviceinfo
ERROR: Could not connect to lockdownd, error code -21
alexanders-mbp:Android Alex$

If I unplug device and then plug back, I'll get "trust/don't trust" dialog when libimobiledevice/ideviceinstaller. Choosing "Trust" doesn't help.
I tried:

  • reboot, of course
  • downgrade Xcode to 7.3
  • uninstall/install libimobiledevice/ideviceinstaller (even using --HEAD)

At the same time I can install apps using XCode successfully.

`idevice_id -l` lists non existing iOS devices

I installed ideviceinstaller v1.1.0 on MacOSX 10.11.5 Beta (15F24b).
After plug in and out some iOS devices, idevice_id -l would list some non existing iOS device. Now no iOS devices are pluged in, but the command returned two udid.
Anyone know why?

I found that system_profiler SPUSBDataType | sed -n -E -e '/(iPhone|iPad|iPod)/,/Serial/s/ *Serial Number: *(.+)/\1/p' is more accute for attached iOS devices

Device is not ready yet when using unback to extract backup

  1. Build the newest version of idevicebackup2you can use linux or winndows(mingw)
  2. Run idevicebackup2 -d -i backup --full c:\backup
  3. Backup completes without issue
  4. try to unback idevicebackup2 -d -i unback c:\backup

Expected results:
the unback command is able to fully extract the backup

Actual results:
The backup will extract com.apple.Maps however, after that it starts to display "Device is not ready yet. Going to try again in 2 seconds..."

Logs:
http://pastebin.com/vz6KJbeG

C:>idevicebackup2.exe -d -i unback C:\backup
Backup directory is "C:\backup"
This is an encrypted backup.
Enter backup password: **********
Started "com.apple.mobilebackup2" service on port 54946.
Negotiated Protocol Version 2.1
Reading Info.plist from backup.
Starting to unpack backup...
Backup password: Yes
Sending '340e42e15fc02fb99e7caf66565d3c881081390c/Manifest.plist' (11.1 KB)
Sending '340e42e15fc02fb99e7caf66565d3c881081390c/Manifest.mbdb' (145.4 KB)
Device is not ready yet. Going to try again in 2 seconds...
Device is not ready yet. Going to try again in 2 seconds...
Device is not ready yet. Going to try again in 2 seconds...

Environment:
Windows 7 with Mingw
iOS 9.3.1
backup encryption (tried with and without encryption)

ideviceinstaller.c:1399:46: error: incompatible pointer types passing status_cb

some argc didn't work on new version of libimobiledevice ,How to do it?

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-recursive
Making all in src
CC ideviceinstaller-ideviceinstaller.o
ideviceinstaller.c:1058:49: error: incompatible pointer types passing 'void
(const char , plist_t, void *)' to parameter of type 'instproxy_status_cb_t' (aka 'void
(
)(plist_t, plist_t, void )') [-Werror,-Wincompatible-pointer-types]
instproxy_install(ipc, pkgname, client_opts, status_cb, NULL);
^~~~~~~~~
/usr/local/include/libimobiledevice/installation_proxy.h:234:132: note: passing argument to parameter
'status_cb' here
...client, const char *pkg_path, plist_t client_options, instproxy_status_cb_t status_cb, void *use...
^
ideviceinstaller.c:1065:49: error: incompatible pointer types passing 'void
(const char *, plist_t, void *)' to parameter of type 'instproxy_status_cb_t' (aka 'void
(
)(plist_t, plist_t, void )') [-Werror,-Wincompatible-pointer-types]
instproxy_upgrade(ipc, pkgname, client_opts, status_cb, NULL);
^~~~~~~~~
/usr/local/include/libimobiledevice/installation_proxy.h:262:132: note: passing argument to parameter
'status_cb' here
...client, const char *pkg_path, plist_t client_options, instproxy_status_cb_t status_cb, void *use...
^
ideviceinstaller.c:1077:41: error: incompatible pointer types passing 'void
(const char *, plist_t, void *)' to parameter of type 'instproxy_status_cb_t' (aka 'void
(
)(plist_t, plist_t, void )') [-Werror,-Wincompatible-pointer-types]
instproxy_uninstall(ipc, appid, NULL, status_cb, NULL);
^~~~~~~~~
/usr/local/include/libimobiledevice/installation_proxy.h:283:131: note: passing argument to parameter
'status_cb' here
...client, const char *appid, plist_t client_options, instproxy_status_cb_t status_cb, void *user_d...
^
ideviceinstaller.c:1253:46: error: incompatible pointer types passing 'void
(const char *, plist_t, void *)' to parameter of type 'instproxy_status_cb_t' (aka 'void
(
)(plist_t, plist_t, void )') [-Werror,-Wincompatible-pointer-types]
instproxy_archive(ipc, appid, client_opts, status_cb, NULL);
^~~~~~~~~
/usr/local/include/libimobiledevice/installation_proxy.h:325:129: note: passing argument to parameter
'status_cb' here
...client, const char *appid, plist_t client_options, instproxy_status_cb_t status_cb, void *user_d...
^
ideviceinstaller.c:1391:39: error: incompatible pointer types passing 'void
(const char *, plist_t, void *)' to parameter of type 'instproxy_status_cb_t' (aka 'void
(
)(plist_t, plist_t, void )') [-Werror,-Wincompatible-pointer-types]
instproxy_restore(ipc, appid, NULL, status_cb, NULL);
^~~~~~~~~
/usr/local/include/libimobiledevice/installation_proxy.h:349:129: note: passing argument to parameter
'status_cb' here
...client, const char *appid, plist_t client_options, instproxy_status_cb_t status_cb, void *user_d...
^
ideviceinstaller.c:1399:46: error: incompatible pointer types passing 'void
(const char *, plist_t, void *)' to parameter of type 'instproxy_status_cb_t' (aka 'void
(
)(plist_t, plist_t, void )') [-Werror,-Wincompatible-pointer-types]
instproxy_remove_archive(ipc, appid, NULL, status_cb, NULL);
^~~~~~~~~
/usr/local/include/libimobiledevice/installation_proxy.h:372:136: note: passing argument to parameter
'status_cb' here
...client, const char *appid, plist_t client_options, instproxy_status_cb_t status_cb, void *user_d...
^
6 errors generated.
make[2]: *
* [ideviceinstaller-ideviceinstaller.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

i don't why some errors after make

$./autogen.sh
libtoolize: putting auxiliary files in .'. libtoolize: linking file./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, m4'. libtoolize: linking filem4/libtool.m4'
libtoolize: linking file m4/ltoptions.m4' libtoolize: linking filem4/ltsugar.m4'
libtoolize: linking file m4/ltversion.m4' libtoolize: linking filem4/lt~obsolete.m4'
configure.ac:13: installing './compile'
configure.ac:15: installing './config.guess'
configure.ac:15: installing './config.sub'
configure.ac:6: installing './install-sh'
configure.ac:6: installing './missing'
src/Makefile.am: installing './depcomp'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @file support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libimobiledevice... yes
checking for libimobiledevice100... yes
checking for libimobiledevice110... yes
checking for libimobiledevice112... yes
checking for libimobiledevice115... yes
checking for libplist... yes
checking for libzip... yes
checking for ANSI C header files... (cached) yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking for ssize_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint8_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for strcasecmp... yes
checking for strdup... yes
checking for strerror... yes
checking for strndup... yes
checking whether lstat is available... yes
checking for supported compiler flags... -Wall -Wextra -Wmissing-declarations -Wredundant-decls -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wno-unused-parameter -Werror -g
checking whether make supports nested variables... (cached) yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating man/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands

$make
make all-recursive
make[1]: Entering directory /home/zluna/Downloads/ios/ideviceinstaller-master' Making all in src make[2]: Entering directory/home/zluna/Downloads/ios/ideviceinstaller-master/src'
CC ideviceinstaller-ideviceinstaller.o
ideviceinstaller.c: In function ‘afc_upload_dir’:
ideviceinstaller.c:546:13: error: ignoring return value of ‘readlink’, declared with attribute warn_unused_result [-Werror=unused-result]
readlink(fpath, target, st.st_size);
^
cc1: all warnings being treated as errors
make[2]: *** [ideviceinstaller-ideviceinstaller.o] Error 1
make[2]: Leaving directory /home/zluna/Downloads/ios/ideviceinstaller-master/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/home/zluna/Downloads/ios/ideviceinstaller-master'
make: *** [all] Error 2

AFC Write error: 30

hi, something awkward happended.
when I run 'ideviceinstaller -u -i wzry.ipa' in my terminal, log shows below:

WARNING: could not locate iTunesMetadata.plist in archive!
WARNING: could not locate Payload/wzry.app/SC_Info/wzry.sinf in archive!
Copying 'wzry.ipa' to device... AFC Write error: 30
Error: wrote only 0 of 1048576

what does AFC error code 30 stand for? how can I solve this?
Thanks in advance

ideviceinstaller doesn't archive application's container on iOS8.

ideviceinstaller doesn't archive application's container with Documents/Library folders, like it did on iOS6 & iOS7. On iOS8 the archive contains application's bundle only.

console log contains the following related information:

Oct 23 18:05:26 ip34 syncdefaultsd[230] : (Note ) marked "com.me.keyvalueservice" topic as "ignored" on (null)
Oct 23 18:05:27 ip34 kernel[0] : flow_divert_token_set (0): Failed to get the key unit from the token: 22
Oct 23 18:05:27 ip34 lockdownd[26] : Could not set socket option SO_OPPORTUNISTIC: Invalid argument
Oct 23 18:05:28 ip34 syslog_relay[150] : syslog_relay found the ASL prompt. Starting...

Error building ideviceinstaller

I'm running Ubuntu 16.04.
Here is the error, when I build libimobiledevice.

ideviceinstaller.c:910:20: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] while (zfsize < zs.size) {

ideviceinstaller fails with "Could not connect to lockdownd. Exiting."

When I try to use ideviceinstaller, the command fails with the following error message:
"Could not connect to lockdownd. Exiting."

Example commands:
ideviceinstaller -l
ideviceinstaller -i Something.ipa

I have googled more than an hour to find the solution, however nothing worked for me:

  • Reinstall ideviceinstaller
  • Reinstall libimobiledevice
  • Reinstall brew and reinstall again both ideviceinstaller, libimobiledevice

It works only if I use sudo but it's unfortunately not acceptable in my case.

System paramereters:
MacBookPro with 10.11.5 OSX El Capitan
Target devices: iPhone 5, iPad 2

Note:
I have installed both Xcode 7.3.1 and Xcode 8 beta 3 on my computer. And used these commands to switch between them:
sudo xcode-select -switch /Applications/Xcode-beta.app/
sudo xcode-select -switch /Applications/Xcode.app/

"SSL certificate problem: Invalid certificate chain" when installing ideviceinstaller

Hello,
When I try to install ideviceinstaller with this command:
brew install --HEAD ideviceinstaller
I have an error:

==> Cloning http://git.sukimashita.com/ideviceinstaller.git
Cloning into '/Users/myaccount/Library/Caches/Homebrew/ideviceinstaller--git'...
fatal: unable to access 'http://git.sukimashita.com/ideviceinstaller.git/': SSL certificate problem: Invalid certificate chain
Error: Failed to download resource "ideviceinstaller"
Failure while executing: git clone --branch master http://git.sukimashita.com/ideviceinstaller.git /Users/elerouge/Library/Caches/Homebrew/ideviceinstaller--git

I can install it without --HEAD, like this : brew install ideviceinstaller and install is ok, but because I have trouble with it and I read on this forum that installing with --HEAD can resolve it, I want to try.
How can I resolve it ? Thanks.

Can't uninstall applications

Hello,

I'm using the actual git version of ideviceinstaller and can't uninstall apps. I get the following error in syslog:

Apr  7 11:46:34 iPad-von-mtdw7 mobile_installation_proxy[336]: Launch Services: Registering unknown app identifier com.trendmicro-europe.uk.threatwatch, failed
Apr  7 11:46:34 iPad-von-mtdw7 mobile_installation_proxy[336]: Launch Services: Unable to find app identifier com.trendmicro-europe.uk.threatwatch,
Apr  7 11:46:34 iPad-von-mtdw7 mobile_installation_proxy[336]: LaunchServices: Uninstalling app LSApplicationProxy: com.trendmicro-europe.uk.threatwatch,
Apr  7 11:46:34 iPad-von-mtdw7 installd[55]: 0x1a55000 handle_uninstall_for_ls: Uninstall requested by mobile_installation_proxy
Apr  7 11:46:34 iPad-von-mtdw7 installd[55]: 0x1a55000 load_container_state: Could not lookup application com.trendmicro-europe.uk.threatwatch, in the install map
Apr  7 11:46:34 iPad-von-mtdw7 installd[55]: 0x1a55000 MobileInstallationUninstall_Server: com.trendmicro-europe.uk.threatwatch, not found in user apps, ignoring
Apr  7 11:46:34 iPad-von-mtdw7 mobile_installation_proxy[336]: LaunchServies: No placeholder bundle to remove for com.trendmicro-europe.uk.threatwatch,.
Apr  7 11:46:34 iPad-von-mtdw7 mobile_installation_proxy[336]: LaunchServies: No app bundle to remove for com.trendmicro-europe.uk.threatwatch,, ignoring
Apr  7 11:46:35 iPad-von-mtdw7 mobile_installation_proxy[336]: Checked in with lockdown on path 'xpc' socket 5 without SSL
Apr  7 11:46:35 iPad-von-mtdw7 mobile_installation_proxy[336]: The connection is now invalid.

ideviceInstaller not working on OS X Yosemite

I am having 2 machines, one with Yosemite and one with mavericks. I have installed ideviceinstaller by using "brew install ideviceinstaller" and it have beeen installed successfully on both machines. Now i have connected iOS 7 device with each of them, and tried to list all apps on device, install app on device, archieve app. In all cases, it have worked in mavericks perfectly. But for yosemite, it always says "Segmentation fault: 11".

Is there any problem with ideviceinstaller on yosemite?

error: ignoring return value of ‘asprintf’

Hi, when I git clone stable ideviceinstall.git and compile it. Compiler shows error as followings:

ideviceinstaller.c:795:12: error: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result [-Werror=unused-result]
cc1: all warnings being treated as errors
make[1]: *** [ideviceinstaller-ideviceinstaller.o] Error 1
make[1]: Leaving directory `/home/buck/build_libimobiledevice4/ideviceinstaller/src'
make: *** [install-recursive] Error 1

I temporarily wrap asprintf inside if statement as follows:
//asprintf(&pkgname, "%s/%s", PKG_PATH, basename(appid)); //line 795
if(asprintf(&pkgname, "%s/%s", PKG_PATH, basename(appid))<0){
fprintf(stderr, "ERROR: print to allocate pkgname\n");
goto leave_cleanup;
}

After modification is made, "Make" does not complain at all.
Don't know which response is appropriate. Please advice.

ideviceinstaller does not work on iOS 8 Beta 5

iPhone Info (iPhone5S, iOS 8 Beta5)

command : ideviceinstaller -d -l
output :
usbmuxd_connect : Reading connect result…
usbmuxd_connect : Connect success!
ValidatePair success
usbmuxd_connect : Reading connect result…
usbmuxd_connect : Connect success!
Could not start com.apple.mobile.installation_proxy!

Occasional malloc double free error

Occasionally ideviceinstaller succeeds in printing all the installed applications but encounters a malloc double free error and exits with error code 134. Full stdout and stderr output (interleaved) is below, with the device UDID and actual app anonymized:

$ ideviceinstaller -d -l -u $UDID
10:05:03 libimobiledevice/src/lockdown.c:654 lockdownd_client_new(): device udid: $UDID
10:05:03 libimobiledevice/src/lockdown.c:384 lockdownd_query_type(): called
10:05:03 libimobiledevice/src/property_list_service.c:127 internal_plist_send(): sending 289 bytes
10:05:03 libimobiledevice/src/service.c:140 service_send(): sending 4 bytes
10:05:03 libimobiledevice/src/service.c:140 service_send(): sending 289 bytes
10:05:03 libimobiledevice/src/property_list_service.c:132 internal_plist_send(): sent 289 bytes
10:05:03 libimobiledevice/src/property_list_service.c:133 internal_plist_send(): printing 289 bytes plist:

Label ideviceinstaller Request QueryType 10:05:03 libimobiledevice/src/property_list_service.c:191 internal_plist_receive_timeout(): initial read=4 10:05:03 libimobiledevice/src/property_list_service.c:200 internal_plist_receive_timeout(): 297 bytes following 10:05:03 libimobiledevice/src/property_list_service.c:213 internal_plist_receive_timeout(): received 297 bytes 10:05:03 libimobiledevice/src/property_list_service.c:239 internal_plist_receive_timeout(): printing 297 bytes plist: Request QueryType Type com.apple.mobile.lockdown 10:05:03 libimobiledevice/src/lockdown.c:400 lockdownd_query_type(): success with type com.apple.mobile.lockdown 10:05:03 libimobiledevice/common/userpref.c:170 userpref_get_config_dir(): initialized config_dir to /var/db/lockdown 10:05:03 libimobiledevice/src/property_list_service.c:127 internal_plist_send(): sending 6497 bytes 10:05:03 libimobiledevice/src/service.c:140 service_send(): sending 4 bytes 10:05:03 libimobiledevice/src/service.c:140 service_send(): sending 6497 bytes 10:05:03 libimobiledevice/src/property_list_service.c:132 internal_plist_send(): sent 6497 bytes 10:05:03 libimobiledevice/src/property_list_service.c:133 internal_plist_send(): printing 6497 bytes plist: Label ideviceinstaller PairRecord DeviceCertificate LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNOakNDQVI2Z0F3SUJBZ0lCQURB TkJna3Foa2lHOXcwQkFRVUZBREFBTUI0WERURTFNRGd4T1RJd01UYzEKT1ZvWERUSTFN RGd4TmpJd01UYzFPVm93QURDQm56QU5CZ2txaGtpRzl3MEJBUUVGQUFPQmpRQXdnWWtD Z1lFQQp5Nm5OYjhqYjByZVBDQ0N5Y2NuR2VxL3NySEV4NHI5YTJNM2dDL1UrYVpEeTBO bzh3YU5oQkNtblRuMU9jWGg2CjlQY3J0SzJ0LytyRHFmdjd3bzl5NTJmMGQyNW1mbHJT Q0xxVUcyUXNISDZrT1pqSkt4YXRJc0RQL05wV1doTVAKNFE0WjFXNEg3OEZScFRSUkhM Tks3N1hRcHlEaHdXWC81WWkxdHVEWU1lTUNBd0VBQWFNL01EMHdEQVlEVlIwVApBUUgv QkFJd0FEQWRCZ05WSFE0RUZnUVVHeVhTdVRKbWl2VHlIRmRnVmxXT05iNWtaaUF3RGdZ RFZSMFBBUUgvCkJBUURBZ1dnTUEwR0NTcUdTSWIzRFFFQkJRVUFBNElCQVFBN2c0VmRr L3RETnEzMTk3SWZzTFFhbkJwc3FNdjkKSlpmU1BRbFFKeXBOeVgyTUFkWGlXMWdDdzhO blE1N1hzcnhqRXg1Q09VY2V1eGFKdW9PZWdXRHdnVUVMZDlOVApqOU1jYkNKNCtQZDFp VVpSTi9JNkxSVFlHQmpQYms1OE9QMW1PdXFLT2VjcHJZenRMWnQ0NDBYejlSNkU4Qmpu CitLeVhSVDgzV3U4ajc4RVBUS3VTeHppZkdIdzFaRVdPT1FSWDdSRlgyYW5OeElib1lV aXY3ZUJJWng1bnh3UEQKMFdiMW14NGM4ZGdzOG1sTHhQcXdLM0E0R2JJRzJvUHZpMVFU bEZQSGRmY2FtaVh1NEdGRG9CbWczQ2lYV3lQdApncGpDdTFia0krQlNjdW9GTmNrSE1k ei9GOUpXdy9QMEtFRTA0RDhWcCthaTZ0b0RCb3ptczJQcQotLS0tLUVORCBDRVJUSUZJ Q0FURS0tLS0tCg== HostCertificate LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNtekNDQVlPZ0F3SUJBZ0lCQURB TkJna3Foa2lHOXcwQkFRVUZBREFBTUI0WERURTFNRGd4T1RJd01UYzEKT1ZvWERUSTFN RGd4TmpJd01UYzFPVm93QURDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBREND QVFvQwpnZ0VCQUszSUVOTEQvOWpoWFlSckI2MFlyYXZiMXZZTEt4TVo0SUE5cjA5Skky UXRuNTljYmNpVXNnNXl1anJtCkd0aHI0VzY0VURuaTRydEF6YmpXZkZFYkU5UlgxUysr QXB1ZEJoV21xeHY1UENmdHM0M2FpdE9vZUxGL3ByS1cKOU5Wd1VKMjM2MVdJY2t6V2NZ MkVLTTVDVWQ5Vy83aW1sdGIrbGxwQWR5RkVwVE9tZ3lzMmFWVE04amVGTmo4LwpkS2NL SjdyTVRXVFNiQlYwaDdySUQvbFMzYVlEVWE5S1NFbWVOcUJtaS9UcktaQWJKbkYxRDA0 Wjd1VjVWd1FiCnFVRkU1Rlh6MjZ5RlVQTGszZDhheFRoWUlYc1d0V3FFUEV1VDZGRk1q djJiWGFiajVQSnRZNjJXTk1mZXVMeEoKb0ZCZjNNWkk3VzdmSnVuRGgrd2FhK1F3UjVN Q0F3RUFBYU1nTUI0d0RBWURWUjBUQVFIL0JBSXdBREFPQmdOVgpIUThCQWY4RUJBTUNC YUF3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUw1VmVpSW82cmE3V2VqczRwcWR6VEp6 ClFmNDZEbHdyeW1DQW8zQlk0dGJGdHNRUEV1QTF3ckhJcU5hZ2VJdktCQXJtWUZrOWJH M0RtdzlEZXI4eXRNbjkKaXJKSEd5Y3lCTlJ0ZERRcnlzcjl2SGhraitKYTUyOU9HTkNZ cGVQcDhpRXJEdlpKN2JVSUE3K1ZCMXlzOC9uRQprRzIwK3Nick5GelZ0YTZuMFFTa2RX aHIvR2VVbCtKVUJGZnQ3cGNQR1NnTHVCdFU1d2IwbWRHRmF6YmcwM1ZGCjlWMk5MNjZl dW5hQklsR0xPcGZTMmJOVzFFZm9SRXZhVnRIMW82cm1GNWFXa2dBcnpvOS9wOStUQysz OHRZdE4KS01sd2Y5cGVoSUVlRDJ6Y1ozdnV4TzdZK3UxRmkyUlkvVDVRYkp0OVlOdlNm Zkx0ZHZSa3hGUklEZms2UEJVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== RootCertificate LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNqakNDQVhhZ0F3SUJBZ0lCQURB TkJna3Foa2lHOXcwQkFRVUZBREFBTUI0WERURTFNRGd4T1RJd01UYzEKT1ZvWERUSTFN RGd4TmpJd01UYzFPVm93QURDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBREND QVFvQwpnZ0VCQU1tbUJEM2U3aWhqL3U3WDBTNWJBLysxT3VydEZidTlXczRJMVRNS29V R1EyeVVFb21kTCtrbXArNEpPCkRoVjhyM3RNQ2NJYkVPRnlxMmJ0cTdDNnhCTzYvTzhT ZDVSd3ZCUXVsUUh0SC9CVmVMQ3RIZENWMW5Ldkp4UWoKYW5jVDJqN1FuVWltYkZZTVVx WmhrWk1uR0FFcDUvdjBQakF4R29jcThGeE8rRytTUG9jVGliNHVCTDZRdmJDTQpTRXpw ZE01ckh2OWZ1M1VyWlp1eWxkRGtaSGhXYm9pSDJZdkI1YzhVd3dGRnozZTVJVUZBVEdT QjBOYVJZbEpJCk9pNzlDSm9OeTVZWUY3VSs3UW5zL1V6akNmSER1WmlGK0FuYzYrVzRn YVJrVFFiMXBIcGJ1cWx2NHU4U2FabE8KZGNPVElsZUt2a2FHdU5oV1ZSSk9HRHBvWFhr Q0F3RUFBYU1UTUJFd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBTgpCZ2txaGtpRzl3MEJB UVVGQUFPQ0FRRUFoVTVpVFJnS2U3TDNBZmFxOEhEM3IxWFlEdXF1ZWxMSFV2Nm92T3Fk CnJsU0Nja3J1Q1RBN2J5K0JsVkUxSCtSQ1p6WkMzOEZIVU1ueGZIWTAzWkRzWkRMNWdj TjBzc0REb2pIWDFMZEIKbVVNRlhlb1ppc1IrZXphSjB5MkttWUg1NkNLQWRlY3JNdncz Um00aElObURMT0JNemcrbWsxZnBua3V4alBPeApLNllsbHdBdEI3anFhU20vN0QzRG14 WjQxM1NHamFVZ01NMEJxYlRrMk9OU0Ewa29xR0FadEh3dzNhWE5uUG1wCmFxTy9YU3dF WmhCNkVReFQxbzdPMko4UUJVeUFXNytjbkFDYmpPNFp5NmZuZEhxZkVINUt4MGl5YU0w Z0VHVUEKc1VGOUhOZytXUmpTZ1JkaUdNWjl5OGNuWnM3YVh6SmxDMWxzM3FQRVhmWGJX QT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K SystemBUID 282BDB19-06E4-474A-BAB4-70103CD5DEEE HostID 13894B10-A31C-EEC8-8496-C9F7E997B8F7 EscrowBag REFUQQAABORWRVJTAAAABAAAAARUWVBFAAAABAAAAAJVVUlEAAAAEJ3rEHPF8UeDq/nn +snCS/RITUNLAAAAKAbFzCt1Rh9ASusnu8hhfLUezpUwEE8C3IXdJRUKnv85gparEwgi R9VXUkFQAAAABAAAAAFTQUxUAAAAFH2h5i/kXoIHbEiqOegPYeLTKFxISVRFUgAAAAQA AMNQVVVJRAAAABAsOBF5LZVPS7Q8GBtIPMdlQ0xBUwAAAAQAAAABV1JBUAAAAAQAAAAD S1RZUAAAAAQAAAAAV1BLWQAAACjT4zSFhiq1ixhNoLpwhkODWM6K6R9m9HYeaN6h54Cd kiz5y2M30hIgVVVJRAAAABAtnxiDGzxNTLEBwWbcup7jQ0xBUwAAAAQAAAACV1JBUAAA AAQAAAADS1RZUAAAAAQAAAABV1BLWQAAAChrE3MaoavTX7FnUzrP2RjmcF9dGUWBSoHN kzxwf6CdbWOOk4gP4s14UEJLWQAAACD+ObY/v+htmW+P1bVaxDbpk18tb2fZcXOKd1T2 F+87ZVVVSUQAAAAQqK/sNOzVQxe9Mjp8+yliBkNMQVMAAAAEAAAAA1dSQVAAAAAEAAAA A0tUWVAAAAAEAAAAAFdQS1kAAAAoS8ze6COj7OCFdujSsA1eSNwqhHEqz1tuQNOq4c4p +NB5467eLtb25VVVSUQAAAAQfqAt8+3GTU27EPtEVuIx2ENMQVMAAAAEAAAABVdSQVAA AAAEAAAAA0tUWVAAAAAEAAAAAFdQS1kAAAAoodIgTlWU6Iavf1WU6vkKWkknC7kAoZWl hpFyFfq/9r2VFttsE5FH+FVVSUQAAAAQcz59AMOxTvKyZoIEyZ/H/kNMQVMAAAAEAAAA BldSQVAAAAAEAAAAA0tUWVAAAAAEAAAAAFdQS1kAAAAoY2hugPxlyU+B4oNIfMec5fZY 4WFoK7mD0P8GutGeNhTgdtDfrQMa2FVVSUQAAAAQAykpOGs+SkGGhHsrd1owa0NMQVMA AAAEAAAAB1dSQVAAAAAEAAAAA0tUWVAAAAAEAAAAAFdQS1kAAAAobUOsznYirapkM+VB q2PZJAPGlseUIiTwGWAlJkczpTs5mNYxsGtBiVVVSUQAAAAQt1QIw3gGTfeHMiLHClih ukNMQVMAAAAEAAAACFdSQVAAAAAEAAAAAUtUWVAAAAAEAAAAAFdQS1kAAAAgMl4AnWdl eF0Ug3ImcRpQwwhzOVD80axaXbnkJzg+4a1VVUlEAAAAEGciCkCZ1UdcqYSvqK/e37VD TEFTAAAABAAAAAlXUkFQAAAABAAAAANLVFlQAAAABAAAAABXUEtZAAAAKIj/celJ0INV kC0Bs+UEZRasJWCTB33uSd9ZaqpVvIDZH9r3AW18+6NVVUlEAAAAEMcWPHJr1UPuqSpn W8dv/b9DTEFTAAAABAAAAApXUkFQAAAABAAAAANLVFlQAAAABAAAAABXUEtZAAAAKPMq kXZDpsTm9Zb7XQ5kTFo4MUJHQ3bPp5IB8yY8sFudmFsxLPIWkA9VVUlEAAAAEA0rvxdM j0lpjEGiWPkodglDTEFTAAAABAAAAAtXUkFQAAAABAAAAAFLVFlQAAAABAAAAABXUEtZ AAAAIGSSzXrkvNVYape0XRf37ImC0m55uhjaJmm0qWrdS0kDU0lHTgAAABSo1oWEQNWZ pqfocValZoIr5Ql9Hg== WiFiMACAddress b4:f0:ab:5f:82:e3 Request ValidatePair ProtocolVersion 2 PairingOptions ExtendedPairingErrors 10:05:04 libimobiledevice/src/property_list_service.c:191 internal_plist_receive_timeout(): initial read=4 10:05:04 libimobiledevice/src/property_list_service.c:200 internal_plist_receive_timeout(): 239 bytes following 10:05:04 libimobiledevice/src/property_list_service.c:213 internal_plist_receive_timeout(): received 239 bytes 10:05:04 libimobiledevice/src/property_list_service.c:239 internal_plist_receive_timeout(): printing 239 bytes plist: Request ValidatePair 10:05:04 libimobiledevice/src/lockdown.c:950 lockdownd_do_pair(): ValidatePair success 10:05:04 libimobiledevice/src/lockdown.c:952 lockdownd_do_pair(): internal pairing mode 10:05:04 libimobiledevice/common/userpref.c:187 userpref_read_system_buid(): using 282BDB19-06E4-474A-BAB4-70103CD5DEEE as SystemBUID 10:05:04 libimobiledevice/src/property_list_service.c:127 internal_plist_send(): sending 444 bytes 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 4 bytes 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 444 bytes 10:05:04 libimobiledevice/src/property_list_service.c:132 internal_plist_send(): sent 444 bytes 10:05:04 libimobiledevice/src/property_list_service.c:133 internal_plist_send(): printing 444 bytes plist: Label ideviceinstaller Request StartSession HostID 13894B10-A31C-EEC8-8496-C9F7E997B8F7 SystemBUID 282BDB19-06E4-474A-BAB4-70103CD5DEEE 10:05:04 libimobiledevice/src/property_list_service.c:191 internal_plist_receive_timeout(): initial read=4 10:05:04 libimobiledevice/src/property_list_service.c:200 internal_plist_receive_timeout(): 354 bytes following 10:05:04 libimobiledevice/src/property_list_service.c:213 internal_plist_receive_timeout(): received 354 bytes 10:05:04 libimobiledevice/src/property_list_service.c:239 internal_plist_receive_timeout(): printing 354 bytes plist: EnableSessionSSL Request StartSession SessionID 26548049-5D61-434A-9C5C-0B7E6C8AC6B4 10:05:04 libimobiledevice/src/lockdown.c:1150 lockdownd_start_session(): Session startup OK 10:05:04 libimobiledevice/src/lockdown.c:1162 lockdownd_start_session(): SessionID: 26548049-5D61-434A-9C5C-0B7E6C8AC6B4 10:05:04 libimobiledevice/src/lockdown.c:1169 lockdownd_start_session(): Enable SSL Session: true 10:05:04 libimobiledevice/src/idevice.c:731 idevice_connection_enable_ssl(): SSL mode enabled, cipher: AES256-SHA 10:05:04 libimobiledevice/src/property_list_service.c:127 internal_plist_send(): sending 366 bytes 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 4 bytes 10:05:04 libimobiledevice/src/idevice.c:352 idevice_connection_send(): SSL_write 4, sent 4 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 366 bytes 10:05:04 libimobiledevice/src/idevice.c:352 idevice_connection_send(): SSL_write 366, sent 366 10:05:04 libimobiledevice/src/property_list_service.c:132 internal_plist_send(): sent 366 bytes 10:05:04 libimobiledevice/src/property_list_service.c:133 internal_plist_send(): printing 366 bytes plist: Label ideviceinstaller Request StartService Service com.apple.mobile.notification_proxy 10:05:04 libimobiledevice/src/idevice.c:406 idevice_connection_receive_timeout(): SSL_read 4, received 4 10:05:04 libimobiledevice/src/property_list_service.c:191 internal_plist_receive_timeout(): initial read=4 10:05:04 libimobiledevice/src/property_list_service.c:200 internal_plist_receive_timeout(): 356 bytes following 10:05:04 libimobiledevice/src/idevice.c:406 idevice_connection_receive_timeout(): SSL_read 356, received 356 10:05:04 libimobiledevice/src/property_list_service.c:213 internal_plist_receive_timeout(): received 356 bytes 10:05:04 libimobiledevice/src/property_list_service.c:239 internal_plist_receive_timeout(): printing 356 bytes plist: Port 49187 Request StartService Service com.apple.mobile.notification_proxy 10:05:04 libimobiledevice/src/notification_proxy.c:48 np_lock(): Locked 10:05:04 libimobiledevice/src/notification_proxy.c:59 np_unlock(): Unlocked 10:05:04 libimobiledevice/src/notification_proxy.c:48 np_lock(): Locked 10:05:04 libimobiledevice/src/notification_proxy.c:319 np_notifier(): starting callback. 10:05:04 libimobiledevice/src/notification_proxy.c:48 np_lock(): Locked 10:05:04 libimobiledevice/src/property_list_service.c:127 internal_plist_send(): sending 320 bytes 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 4 bytes 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 320 bytes 10:05:04 libimobiledevice/src/property_list_service.c:132 internal_plist_send(): sent 320 bytes 10:05:04 libimobiledevice/src/property_list_service.c:133 internal_plist_send(): printing 320 bytes plist: Command ObserveNotification Name com.apple.mobile.application_installed 10:05:04 libimobiledevice/src/notification_proxy.c:59 np_unlock(): Unlocked 10:05:04 libimobiledevice/src/notification_proxy.c:48 np_lock(): Locked 10:05:04 libimobiledevice/src/service.c:163 service_receive_with_timeout(): could not read data 10:05:04 libimobiledevice/src/notification_proxy.c:260 np_get_notification(): NotificationProxy: no notification received! 10:05:04 libimobiledevice/src/notification_proxy.c:59 np_unlock(): Unlocked 10:05:04 libimobiledevice/src/property_list_service.c:127 internal_plist_send(): sending 322 bytes 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 4 bytes 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 322 bytes 10:05:04 libimobiledevice/src/property_list_service.c:132 internal_plist_send(): sent 322 bytes 10:05:04 libimobiledevice/src/property_list_service.c:133 internal_plist_send(): printing 322 bytes plist: Command ObserveNotification Name com.apple.mobile.application_uninstalled 10:05:04 libimobiledevice/src/notification_proxy.c:59 np_unlock(): Unlocked 10:05:04 libimobiledevice/src/property_list_service.c:127 internal_plist_send(): sending 366 bytes 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 4 bytes 10:05:04 libimobiledevice/src/idevice.c:352 idevice_connection_send(): SSL_write 4, sent 4 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 366 bytes 10:05:04 libimobiledevice/src/idevice.c:352 idevice_connection_send(): SSL_write 366, sent 366 10:05:04 libimobiledevice/src/property_list_service.c:132 internal_plist_send(): sent 366 bytes 10:05:04 libimobiledevice/src/property_list_service.c:133 internal_plist_send(): printing 366 bytes plist: Label ideviceinstaller Request StartService Service com.apple.mobile.installation_proxy 10:05:04 libimobiledevice/src/idevice.c:406 idevice_connection_receive_timeout(): SSL_read 4, received 4 10:05:04 libimobiledevice/src/property_list_service.c:191 internal_plist_receive_timeout(): initial read=4 10:05:04 libimobiledevice/src/property_list_service.c:200 internal_plist_receive_timeout(): 356 bytes following 10:05:04 libimobiledevice/src/idevice.c:406 idevice_connection_receive_timeout(): SSL_read 356, received 356 10:05:04 libimobiledevice/src/property_list_service.c:213 internal_plist_receive_timeout(): received 356 bytes 10:05:04 libimobiledevice/src/property_list_service.c:239 internal_plist_receive_timeout(): printing 356 bytes plist: Port 49189 Request StartService Service com.apple.mobile.installation_proxy CFBundleIdentifier, CFBundleVersion, CFBundleDisplayName 10:05:04 libimobiledevice/src/installation_proxy.c:189 instproxy_lock(): Locked 10:05:04 libimobiledevice/src/property_list_service.c:127 internal_plist_send(): sending 568 bytes 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 4 bytes 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 568 bytes 10:05:04 libimobiledevice/src/property_list_service.c:132 internal_plist_send(): sent 568 bytes 10:05:04 libimobiledevice/src/property_list_service.c:133 internal_plist_send(): printing 568 bytes plist: Command Browse ClientOptions ApplicationType User ReturnAttributes CFBundleIdentifier CFBundleDisplayName CFBundleVersion StaticDiskUsage DynamicDiskUsage 10:05:04 libimobiledevice/src/installation_proxy.c:200 instproxy_unlock(): Unlocked 10:05:04 libimobiledevice/src/lockdown.c:249 lockdownd_stop_session(): stopping session 26548049-5D61-434A-9C5C-0B7E6C8AC6B4 10:05:04 libimobiledevice/src/property_list_service.c:127 internal_plist_send(): sending 368 bytes 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 4 bytes 10:05:04 libimobiledevice/src/idevice.c:352 idevice_connection_send(): SSL_write 4, sent 4 10:05:04 libimobiledevice/src/service.c:140 service_send(): sending 368 bytes 10:05:04 libimobiledevice/src/idevice.c:352 idevice_connection_send(): SSL_write 368, sent 368 10:05:04 libimobiledevice/src/property_list_service.c:132 internal_plist_send(): 10:05:04 libimobiledevice/src/installation_proxy.c:189 instproxy_lock(): sent 368 bytes Locked 10:05:04 libimobiledevice/src/property_list_service.c:133 internal_plist_send(): printing 368 bytes plist: Label ideviceinstaller Request StopSession SessionID 26548049-5D61-434A-9C5C-0B7E6C8AC6B4 10:05:04 libimobiledevice/src/idevice.c:406 idevice_connection_receive_timeout(): SSL_read 4, received 4 10:05:04 libimobiledevice/src/property_list_service.c:191 internal_plist_receive_timeout(): initial read=4 10:05:04 libimobiledevice/src/property_list_service.c:200 internal_plist_receive_timeout(): 238 bytes following 10:05:04 libimobiledevice/src/idevice.c:406 idevice_connection_receive_timeout(): SSL_read 238, received 238 10:05:04 libimobiledevice/src/property_list_service.c:213 internal_plist_receive_timeout(): received 238 bytes 10:05:04 libimobiledevice/src/property_list_service.c:239 internal_plist_receive_timeout(): printing 238 bytes plist: Request StopSession 10:05:04 libimobiledevice/src/lockdown.c:265 lockdownd_stop_session(): success 10:05:04 libimobiledevice/src/idevice.c:818 idevice_connection_disable_ssl(): SSL mode disabled 10:05:04 libimobiledevice/src/property_list_service.c:191 internal_plist_receive_timeout(): initial read=4 10:05:04 libimobiledevice/src/property_list_service.c:200 internal_plist_receive_timeout(): 303 bytes following 10:05:04 libimobiledevice/src/property_list_service.c:213 internal_plist_receive_timeout(): received 303 bytes 10:05:04 libimobiledevice/src/property_list_service.c:239 internal_plist_receive_timeout(): printing 748 bytes plist: CurrentAmount 1 Total 1 CurrentIndex 0 Status BrowsingApplications CurrentList StaticDiskUsage 266240 CFBundleIdentifier com.example.MyApp CFBundleDisplayName MyApp CFBundleVersion 1.0 DynamicDiskUsage 8192 10:05:04 libimobiledevice/src/installation_proxy.c:200 instproxy_unlock(): ideviceinstaller(43378,0x1017db000) malloc: **\* error for object 0x7f8768501e10: double free **\* set a breakpoint in malloc_error_break to debug Unlocked 10:05:04 libimobiledevice/src/installation_proxy.c:383 instproxy_receive_status_loop(): command: Browse, status: BrowsingApplications com.example.MyApp, "1.0", "MyApp" 10:05:04 libimobiledevice/src/installation_proxy.c:189 instproxy_lock(): Locked 10:05:04 libimobiledevice/src/property_list_service.c:191 internal_plist_receive_timeout(): Abort trap: 6

Problem with Container folder after reinstalling archived ipa

Archive an application with
ideviceinstaller -a com.nuclearelements.nebulousnotes -o copy=./
Check the .ipa file, all documents in Container folder are properly archived.
Then reinstall the ipa with
ideviceinstaller -i com.nuclearelements.nebulousnotes.01.ipa
The Container folder is not restored, documents did not appear in idevice.

Bad English.

Thanks!

Now fails with APIError randomly, exit code 128

I got this command to work once:

ideviceinstaller -a com.tencent.xin -o copy=$PWD -o remove

Second time it fails:

Archive - TakingInstallLock (0%)
Archive - EmptyingApplication (2%)
Archive - ArchivingApplication (3%)
Archive - ArchivingApplication (4%)
Archive - ArchivingApplication (5%)
Archive - Error occurred: APIInternalError

Also -R to clean up fails too, RemoveArchive - Error occurred: APIInternalError, immediately.

I know the error check was not there before ab04a35 but what is the actual error that causes the problem? APIInternalError is not very descriptive. -d does not help either.

ideviceinstaller is not reliably logging all events to stdout

Often, I find an ideviceinstaller command will complete successfully, with an exit code of 0, throwing no errors, but the logged output on stdout does not include all the status lines.

MBP:~ me$ ideviceinstaller -u "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -i "/Users/me/Documents/iOS/App Test/Debug-iphoneos/App Test.app"
Uploading App Test.app package contents... DONE.
Installing '(null)'
 - CreatingStagingDirectory (5%)
 - ExtractingPackage (15%)
 - InspectingPackage (20%)
 - TakingInstallLock (20%)
 - PreflightingApplication (30%)
 - InstallingEmbeddedProfile (30%)
MBP:~ me$ echo $?
0

The exact line at which event logging stops seems to vary as well, and I have noticed it happening anywhere between 20% and 90%, though the command succeeds, and the app is successfully installed, in all cases.

This is a problem for the node.js package node-idevice, and anything that depends on it (like Appium), as node-idevice verifies successful app installation based on the logging of the - Complete line to stdout.

Note: I am using a Mac Mini, running OS X 10.11.4.

Remove app placeholders with ideviceinstaller

Hey,

does someone know if it's possible to remove the gray app placeholders with ideviceinstaller or one of it's other tools which can occure if something went wrong during the app download? If it's not possible does someone know a method how I can do this via ssh on the device? It's necessary for me to automate this task.

ideviceinstaller 1.1.0 - multiple dylib runtime loading problems on Yosemite

  • MacOS 10.10.1

Reproduce

$ brew update
# ideviceinstaller update was available
$ brew upgrade ideviceinstaller

Expected

ideviceinstaller to work out

Found

$ ideviceinstaller -h
dyld: Library not loaded: /usr/local/lib/libimobiledevice.4.dylib
  Referenced from: /usr/local/bin/ideviceinstaller
  Reason: image not found

# See notes below
dyld: Library not loaded: /usr/local/lib/libplist.2.dylib
  Referenced from: /usr/local/bin/ideviceinstaller
  Reason: image not found

Notes

I am not sure if this a problem with brew or with ideviceinstaller itself.

$ brew info ideviceinstaller
ideviceinstaller: stable 1.1.0 (bottled), HEAD
http://www.libimobiledevice.org/
/usr/local/Cellar/ideviceinstaller/1.0.1 (7 files, 80K)
  Built from source
/usr/local/Cellar/ideviceinstaller/1.1.0 (7 files, 84K)
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/ideviceinstaller.rb
==> Dependencies
Build: pkg-config ✔
Required: libimobiledevice ✔, libzip ✔

I cleared these errors by making symlinks from the most recent dylibs to the dylibs ideviceinstaller expected to exist.

ASAN detects heap use-after-free

After repeated malloc errors and segmentation faults with ideviceinstaller, I built it with ASAN and ran some load tests. I can now reproduce this heap-use-after-free error reliably:

==14860==ERROR: AddressSanitizer: heap-use-after-free on address 0x60400001b5a0 at pc 0x0000006aa8af bp 0x7f3a9f0fd2b0 sp 0x7f3a9f0fd2a8
READ of size 8 at 0x60400001b5a0 thread T2
#0 0x6aa8ae in xmlCharEncOutput libxml/src/encoding.c:2480:26
#1 0x7c7f09 in xmlOutputBufferFlush libxml/src/xmlIO.c:3762:16
#2 0x78461c in xmlDocDumpFormatMemoryEnc libxml/src/xmlsave.c:2465:5
#3 0x696ac7 in plist_to_xml libplist/src/xplist.c:543:5
#4 0x50303f in debug_plist_real libimobiledevice/common/debug.c:155:2
#5 0x502504 in internal_plist_receive_timeout libimobiledevice/src/property_list_service.c:239:5
#6 0x4f8ff2 in instproxy_receive_status_loop libimobiledevice/src/installation_proxy.c:335:25
#7 0x4f8c80 in instproxy_receive_status_loop_thread libimobiledevice/src/installation_proxy.c:421:8
#8 0x7f3aa2d4d83f in start_thread (/usr/grte/v4/lib64/libpthread.so.0+0x683f)
#9 0x7f3aa27a92ec in __clone (/usr/grte/v4/lib64/libc.so.6+0x372ec)

0x60400001b5a0 is located 16 bytes inside of 40-byte region [0x60400001b590,0x60400001b5b8)
freed by thread T3 here:
#0 0x4d24eb in __interceptor_free llvm/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:38:3
#1 0x6a77f1 in xmlCleanupCharEncodingHandlers libxml/src/encoding.c:1456:6
#2 0x697870 in plist_from_xml libplist/src/xplist.c:589:5
#3 0x509a2e in receive_packet libusbmuxd/src/libusbmuxd.c:209:3
#4 0x50c48d in get_next_event libusbmuxd/src/libusbmuxd.c:651:6
#5 0x507b1d in device_monitor libusbmuxd/src/libusbmuxd.c:743:14
#6 0x7f3aa2d4d83f in start_thread (/usr/grte/v4/lib64/libpthread.so.0+0x683f)

previously allocated by thread T3 here:
#0 0x4d280b in __interceptor_malloc llvm/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:52:3
#1 0x6a5475 in xmlNewCharEncodingHandler libxml/src/encoding.c:1348:15
#2 0x6a583d in xmlInitCharEncodingHandlers libxml/src/encoding.c:1408:5
#3 0x6a7886 in xmlGetCharEncodingHandler libxml/src/encoding.c:1501:27
#4 0x7c7757 in xmlAllocParserInputBuffer libxml/src/xmlIO.c:2438:20
#5 0x7c91ca in xmlParserInputBufferCreateMem libxml/src/xmlIO.c:3033:11
#6 0x6fc293 in xmlCreateMemoryParserCtxt libxml/src/parser.c:14599:11
#7 0x6ff91c in xmlReadMemory libxml/src/parser.c:15494:12
#8 0x697848 in plist_from_xml libplist/src/xplist.c:580:27
#9 0x509a2e in receive_packet libusbmuxd/src/libusbmuxd.c:209:3
#10 0x50c48d in get_next_event libusbmuxd/src/libusbmuxd.c:651:6
#11 0x507b1d in device_monitor libusbmuxd/src/libusbmuxd.c:743:14
#12 0x7f3aa2d4d83f in start_thread (/usr/grte/v4/lib64/libpthread.so.0+0x683f)

Thread T2 created by T0 here:
#0 0x4bac29 in __interceptor_pthread_create llvm/llvm/projects/compiler-rt/lib/asan/asan_interceptors.cc:238:3
#1 0x4f8bb4 in instproxy_receive_status_loop_with_callback libimobiledevice/src/installation_proxy.c:482:8
#2 0x4f6870 in instproxy_uninstall libimobiledevice/src/installation_proxy.c:699:8
#3 0x4e97a1 in main ideviceinstaller/src/ideviceinstaller.c:1109:3
#4 0x7f3aa27aace7 in __libc_start_main (/usr/grte/v4/lib64/libc.so.6+0x38ce7)
#5 0x425a58 in _start /usr/grte/v4/debug-src/glibc-2.19/csu/../sysdeps/x86_64/start.S:118

Thread T3 created by T0 here:
#0 0x4bac29 in __interceptor_pthread_create llvm/llvm/projects/compiler-rt/lib/asan/asan_interceptors.cc:238:3
#1 0x5079e8 in usbmuxd_subscribe libusbmuxd/src/libusbmuxd.c:774:8
#2 0x4f3a76 in idevice_event_subscribe libimobiledevice/src/idevice.c:162:12
#3 0x4ee9af in idevice_wait_for_command_to_complete ideviceinstaller/src/ideviceinstaller.c:341:2
#4 0x4e99e5 in main ideviceinstaller/src/ideviceinstaller.c:1425:2
#5 0x7f3aa27aace7 in __libc_start_main (/usr/grte/v4/lib64/libc.so.6+0x38ce7)
#6 0x425a58 in _start /usr/grte/v4/debug-src/glibc-2.19/csu/../sysdeps/x86_64/start.S:118

SUMMARY: AddressSanitizer: heap-use-after-free libxml/src/encoding.c:2480:26 in xmlCharEncOutput
Shadow bytes around the buggy address:
0x0c087fffb660: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
0x0c087fffb670: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fa
0x0c087fffb680: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
0x0c087fffb690: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
0x0c087fffb6a0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
=>0x0c087fffb6b0: fa fa fd fd[fd]fd fd fa fa fa fd fd fd fd fd fa
0x0c087fffb6c0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
0x0c087fffb6d0: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
0x0c087fffb6e0: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
0x0c087fffb6f0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
0x0c087fffb700: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==14860==ABORTING

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.