惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
N
News and Events Feed by Topic
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
The Cloudflare Blog
H
Heimdal Security Blog
Schneier on Security
Schneier on Security
Engineering at Meta
Engineering at Meta
Google Online Security Blog
Google Online Security Blog
宝玉的分享
宝玉的分享
AI
AI
The GitHub Blog
The GitHub Blog
MongoDB | Blog
MongoDB | Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
The Last Watchdog
The Last Watchdog
T
Troy Hunt's Blog
S
Security @ Cisco Blogs
H
Hacker News: Front Page
F
Fortinet All Blogs
博客园_首页
S
Secure Thoughts
N
News and Events Feed by Topic
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
Spread Privacy
Spread Privacy
Hacker News - Newest:
Hacker News - Newest: "LLM"
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Hugging Face - Blog
Hugging Face - Blog
Hacker News: Ask HN
Hacker News: Ask HN
C
CXSECURITY Database RSS Feed - CXSecurity.com
酷 壳 – CoolShell
酷 壳 – CoolShell
Stack Overflow Blog
Stack Overflow Blog
L
LINUX DO - 最新话题
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Schneier on Security
Know Your Adversary
Know Your Adversary
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Scott Helme
Scott Helme
P
Privacy & Cybersecurity Law Blog
S
Securelist
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
O
OpenAI News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
PCI Perspectives
PCI Perspectives
L
LangChain Blog
雷峰网
雷峰网
Security Archives - TechRepublic
Security Archives - TechRepublic
V2EX - 技术
V2EX - 技术

博客园 - 周希

自动驾驶算法评测体系建设实践 Mac上的Redis安装和使用 iPhone手机越狱-逆向砸壳-代码注入 使用Apple Configurator 2提取商店ipa or app文件 使用ATOMac进行Mac自动化测试 WDA支持获取WebView元素 iOS模拟器命令 Android自动化测试探索(七)代码覆盖率统计 Android自动化测试探索(五)代码覆盖率统计 解决ifuse不支持24位UDID问题 Android自动化测试探索(四)uiautomator2简介和使用 iOS自动化探索(十)代码覆盖率统计 Android自动化测试探索(三)Android SDK tools安装、aapt配置以及使用aapt获取apk包名 Android自动化测试探索(二)常用自动化工具 Android自动化测试探索(一)adb详细介绍 mac下csv乱码解决办法 Mac安装MySQLdb遇到的坑 【Python MySQLdb】Library not loaded: /usr/local/mysql/lib/libmysqlclient.20.dylib解决办法 Pycharm更换主题 Python -- 使用pickle 和 CPickle对数据对象进行归档和解析
关于Mac上使用ideviceinstaller操作iPhoneXR等24位UDID设备报“ERROR: Invalid UDID specified”解决办法
周希 · 2019-04-18 · via 博客园 - 周希

最近新申请了一台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 usbmuxd
brew unlink usbmuxd brew link usbmuxd
brew 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 ***安装下再重试

执行

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

大功告成