专栏首页APP自动化测试关于Mac上使用ideviceinstaller操作iPhoneXR等24位UDID设备报“ERROR: Invalid UDID specified”解决办法

关于Mac上使用ideviceinstaller操作iPhoneXR等24位UDID设备报“ERROR: Invalid UDID specified”解决办法

最近新申请了一台iPhone XR, 测试时发现使用ideviceinstaller命令老是报错:

Jackeys-MacBook-Pro:~ jackey$ ideviceinstaller -u 00008020-xxxxxxxxxxxx -U com.xxxx.xxxxxxxx
ERROR: Invalid UDID specified
Usage: ideviceinstaller OPTIONS
Manage apps on iOS devices.

  -u, --udid UDID    Target specific device by its 40-digit device UDID.
  -l, --list-apps    List apps, possible options:
       -o list_user    - list user apps only (this is the default)
       -o list_system    - list system apps only
       -o list_all    - list all types of apps
       -o xml        - print full output as xml plist
  -i, --install ARCHIVE    Install app from package file specified by ARCHIVE.
                           ARCHIVE can also be a .ipcc file for carrier bundles.
  -U, --uninstall APPID    Uninstall app specified by APPID.
  -g, --upgrade ARCHIVE    Upgrade app from package file specified by ARCHIVE.
  -L, --list-archives    List archived applications, possible options:
       -o xml        - print full output as xml plist
  -a, --archive APPID    Archive app specified by APPID, possible options:
       -o uninstall    - uninstall the package after making an archive
       -o app_only    - archive application data only
       -o docs_only    - archive documents (user data) only
       -o copy=PATH    - copy the app archive to directory PATH when done
       -o remove    - only valid when copy=PATH is used: remove after copy
  -r, --restore APPID    Restore archived app specified by APPID
  -R, --remove-archive APPID  Remove app archive specified by APPID
  -o, --options        Pass additional options to the specified command.
  -h, --help        prints usage information
  -d, --debug        enable communication debugging

提示udid错误, ideviceinstaller只支持40位UDID

看了下ideviceinstaller官方仓库 https://github.com/libimobiledevice/ideviceinstaller

最新的代码已经解决了这个问题, 所以我们需要是用源码安装最新的版本

如果只下载ideviceinstaller源码进行安装的话会提示libimobiledevice版本低了, 所以我们需要把libimobiledevice跟ideviceinstaller都使用最新的源码安装下

以下是操作步骤:

1.如果当前的libimobiledevice跟ideviceinstaller不能正常使用, 可以使用以下方式恢复

brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
brew install --HEAD usbmuxdbrew unlink usbmuxd
brew link usbmuxdbrew install --HEAD libimobiledevice
brew install ideviceinstaller
brew link --overwrite ideviceinstaller

安装过程中可能会提示缺少后一个库, 使用brew install --HEAD ***安装下再重试就可以了; 如果只是提示安装失败就一般再试一次就可以

2.下载libimobiledevice源码

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

进入libimobiledevice代码路径, 执行

./autogen.sh --disable-openssl

会提示缺少依赖, 使用brew install --HEAD ***安装下再重试

执行

make
sudo make install

3.下载ideviceinstaller源码

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

进入ideviceinstaller代码路径, 执行

./autogen.sh --disable-openssl
make
sudo make install

这样就OK了, 再试试操作手机

Jackeys-MacBook-Pro:ideviceinstaller jackey$ ideviceinstaller -u 00008020-xxxxxxxxxxxxx -U com.xxxxxxx.xxxxxxx
Uninstalling 'com.xxxxxxx.xxxxxxxxx'
Uninstall: RemovingApplication (50%)
Uninstall: GeneratingApplicationMap (90%)
Uninstall: Complete

大功告成

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • iOS 检查指定日期是否在当前日期之前

    周希
  • AppDelegate减负之常用三方封装 - 友盟分享 / 三方登录篇

    http://www.cnblogs.com/zhouxihi/p/7113511.html

    周希
  • 使用libimobiledevice + ifuse提取iOS沙盒文件

    libimobiledevice:一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备。

    周希
  • 看机器学习和商业智能如何改善医疗保健的

    商业智能概念,如描述性,诊断性,预测性和规范性分析,听起来像医学术语,实际上可以用于挽救生命的医疗保健方式。 在以患者和以人为中心的医疗保健领域,我们对机器学习...

    企鹅号小编
  • Script in Java中文版Java脚本编程:语言、框架与模式勘误 博客分类: Java Java编程脚本框架D语言

    【原 书 名】 Scripting in Java:Languages,Frameworks,and Patterns

    阿敏总司令
  • 数据分析告诉你,薛之谦还能东山再起吗?

    大家还记得2017年初被薛之谦刷屏么?各种广告代言,综艺节目,颁奖典礼,就差拍部电影领个奥斯卡了

    挖数
  • 资源 | 这套1600赞的NLP课程已开放,面向实战,视频代码都有

    一套面向实战、号称“代码优先”的NLP课程来了,名字为A Code-First Introduction to Natural Language Process...

    zenRRan
  • 基于LVM的磁盘管理

    LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个...

    耕耘实录
  • 和MNSIT打个招呼

    作为深度学习的入门数据集,MNIST是个很好的选择,我们可以在官网 http://yann.lecun.com/exdb/mnist/下载。

    代号404
  • [正则表达式]利用正则表达式获取两者之间的内容

    起因是同学找我问怎么用正则表达式获得——比如说12.3亿元中的“亿”,3千万元的“千万”。然后我试了很久,直接用在线测试工具测的,发现零宽断言里的(?<=exp...

    Tuzei

扫码关注云+社区

领取腾讯云代金券