You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Appium获取iOS设备上的应用版本信息

iOS 获取应用版本号的几种实用方法

嘿,我明白你在iOS端找对应Android adb dumpsys 的替代方案有多头疼!下面给你分享几个靠谱的方法,帮你轻松拿到应用的版本信息:

1. 使用 ideviceinstaller(真机/通用)

这是最贴近adb思路的工具,专门用来管理iOS设备上的应用。首先得先安装它:

# 用Homebrew安装,会自动处理依赖
brew install libimobiledevice ideviceinstaller

安装完成后,直接运行命令获取指定设备上的应用列表,过滤目标包名就能拿到版本:

# 列出指定UDID设备上的所有应用及版本信息
ideviceinstaller -u <你的设备UDID> -l

如果想精准过滤,搭配grep使用更高效:

ideviceinstaller -u <你的设备UDID> -l | grep -A 3 "com.your.app.bundleid"

输出里的Version字段就是你要的、对应Android端versionName的版本信息。

2. 使用Xcode自带工具(模拟器/真机)

如果你已经安装了Xcode,直接用它自带的命令行工具更省心:

针对模拟器

用simctl命令直接查询指定应用的详细信息:

# 获取指定模拟器上目标应用的版本等信息
xcrun simctl appinfo <模拟器UDID> com.your.app.bundleid

输出里会明确显示Version和Build号。

针对真机(Xcode 15+)

Xcode15之后推荐用devicectl,命令更统一规范:

# 查询真机上目标应用的版本信息
xcrun devicectl device app info --udid <真机UDID> --bundle-id com.your.app.bundleid

如果是Xcode14及更早版本,可以用ideviceinfo配合查询:

ideviceinfo -u <真机UDID> -q com.your.app.bundleid

3. 自动化测试框架中获取(比如Appium)

如果你的调试是在自动化测试流程里,直接用测试框架的API更高效:
比如Appium的Java实现:

// 获取当前已启动应用的版本号
String appVersion = driver.getCapabilities().getCapability("appVersion").toString();

或者通过Appium的mobile命令查询指定包名的应用:

Map<String, Object> params = new HashMap<>();
params.put("bundleId", "com.your.app.bundleid");
Map<String, Object> appInfo = (Map<String, Object>) driver.executeScript("mobile: getAppInfo", params);
String version = (String) appInfo.get("version");

这些方法都能帮你拿到和Android端versionName对应的版本信息,根据你的场景选最合适的就行~

内容的提问来源于stack exchange,提问作者Fabrice31

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:24:26