# windows_run.py(替换你起 iproxy 的那几行) import os, subprocess, time, requests, wda from pathlib import Path UDID = "00008110-00067D0014D3B01E" MAC = "http://192.168.1.219:8765" # 让 Mac 起 WDA(不转发) requests.post(f"{MAC}/startWDA", json={"udid": UDID}, timeout=600).raise_for_status() # 计算 iproxy 绝对路径(项目根/resources/iproxy/iproxy.exe) BASE = Path(__file__).resolve().parents[1] # iOSAI/ IPROXY = BASE / "resources" / "iproxy" / "iproxy.exe" if not IPROXY.exists(): raise FileNotFoundError(f"iproxy 不在这里: {IPROXY}") # 可选:把 iproxy 目录加入 PATH,避免 DLL 依赖找不到 env = os.environ.copy() env["PATH"] = str(IPROXY.parent) + os.pathsep + env.get("PATH", "") try: os.add_dll_directory(str(IPROXY.parent)) # 仅 Windows 有效 except Exception: pass # 起 iproxy:本地 9111 -> 设备 8100 p = subprocess.Popen([str(IPROXY), "-u", UDID, "9111", "8100"], cwd=str(IPROXY.parent), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True, creationflags=0x08000000) # 探活 WDA c = wda.Client("http://127.0.0.1:9111") for _ in range(120): try: print(c.status()); break except: time.sleep(1)