使用Xcode Simulator运行Appium提示未知设备/模拟器UDID错误
问题现象
IntelliJ中运行基于Xcode Simulator的Appium自动化脚本时,properties配置文件已填写UDID参数,运行抛出以下异常:
org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: Unknown device or simulator UDID: '1685524E-A876-4CEB-9C75-C0C1FA0EB018'
核心诱发原因
该报错本质是Appium服务端无法从当前关联的Xcode实例中,匹配到配置项指定UDID的可用模拟器,常见触发场景:
- 填写的UDID和当前Xcode中实际存在的可用模拟器UDID不匹配,多发生在Xcode升级、模拟器重置/重建、runtime版本更新后,模拟器UDID会自动重新生成
- 多版本Xcode共存时,Appium关联的Xcode路径和你日常使用的Xcode路径不一致,读取的是其他Xcode版本下的设备列表
- 目标模拟器未正常注册到Xcode设备库,常见于新建模拟器后从未手动启动过、模拟器runtime文件损坏
- 配置文件读取逻辑异常,运行时实际拿到的UDID值携带了前后空格、换行符、不可见特殊字符,和你在配置文件里看到的字符串不一致
排查修复步骤
按以下顺序逐一排查即可解决:
- 核对真实可用模拟器的UDID
打开终端执行命令,列出当前Xcode下所有可用模拟器的信息:
在输出结果中定位你要使用的目标模拟器,逐字符核对其UDID和配置文件中填写的值是否完全一致。如果找不到对应UDID,直接复制输出结果中目标模拟器的真实UDID,替换配置文件中的旧值。xcrun simctl list devices available - 校验Appium关联的Xcode路径
终端执行以下命令查看当前系统默认指向的Xcode开发路径:
如果输出路径和你实际使用的Xcode路径不匹配(比如指向了旧版本Xcode、独立的命令行工具路径),执行以下命令切换到正确路径(路径替换为你本机Xcode的实际安装位置):xcode-select -p
切换完成后完全重启Appium服务再重试脚本。sudo xcode-select -s /Applications/Xcode.app/Contents/Developer - 修复模拟器注册异常
如果第一步查询设备列表时能找到对应UDID的模拟器,先手动启动该模拟器等待完全加载,再执行以下命令重置模拟器状态、清理设备缓存:
操作完成后重启Xcode和Appium服务。xcrun simctl shutdown all xcrun simctl erase all - 校验配置读值正确性
在脚本初始化Appium Driver的逻辑前增加打印日志,输出运行时实际读取到的UDID配置值,确认不存在多余空格、换行、不可见字符,排除配置文件编码异常、读取逻辑bug导致的传值错误。
内容的提问来源于stack exchange,提问作者Anusha
相关产品推荐
相关产品推荐

