如何获取XCTestDevices目录下生成的模拟器对应的ID
获取XCTestDevices目录下模拟器ID的方法
你调用UIDevice.current.identifierForVendor拿到的是应用维度的供应商唯一标识,和Library/Developer/XCTestDevices目录下的模拟器UDID不属于同一参数,因此无法匹配,可通过以下两种方式获取目标ID:
方式1:命令行直接查询
在终端执行以下命令即可列出所有已安装模拟器的名称和对应UDID,UDID与XCTestDevices下的子文件夹名称完全一致:
xcrun simctl list devices
方式2:代码运行时动态获取
如果需要在模拟器运行的App/测试用例中实时获取当前设备的对应UDID,可以读取进程环境变量中的预设参数:
// Swift 示例代码 if let targetSimUDID = ProcessInfo.processInfo.environment["SIMULATOR_UDID"] { // 拿到的targetSimUDID就是XCTestDevices下对应的文件夹ID print(targetSimUDID) }
注:该环境变量仅在模拟器运行环境下生效,真机运行时无对应返回值
内容的提问来源于stack exchange,提问作者reutsey
相关产品推荐
相关产品推荐

