diff --git a/.idea/iOSAI.iml b/.idea/iOSAI.iml
index df5cbff..f571432 100644
--- a/.idea/iOSAI.iml
+++ b/.idea/iOSAI.iml
@@ -2,7 +2,7 @@
-
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index c27b771..db8786c 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,5 +3,5 @@
-
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index a3bbe26..6a2a3bb 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,49 +5,12 @@
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -92,6 +55,8 @@
"ASKED_ADD_EXTERNAL_FILES": "true",
"Python.123.executor": "Run",
"Python.Main.executor": "Run",
+ "Python.mac_wda_agent.executor": "Run",
+ "Python.windows_run.executor": "Run",
"RunOnceActivity.ShowReadmeOnStart": "true",
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
"git-widget-placeholder": "main",
@@ -160,8 +125,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -210,6 +223,11 @@
+
+
+
+
+
@@ -234,7 +252,9 @@
-
+
+
+
\ No newline at end of file
diff --git a/resources/9c1babd72b735f9ed0b0843cffdc4fc0ebd3e449/bgv.png b/resources/9c1babd72b735f9ed0b0843cffdc4fc0ebd3e449/bgv.png
deleted file mode 100644
index 8e21948..0000000
Binary files a/resources/9c1babd72b735f9ed0b0843cffdc4fc0ebd3e449/bgv.png and /dev/null differ
diff --git a/script/mac_wda_agent.py b/script/mac_wda_agent.py
new file mode 100644
index 0000000..074ed53
--- /dev/null
+++ b/script/mac_wda_agent.py
@@ -0,0 +1,38 @@
+# 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)
diff --git a/script/windows_run.py b/script/windows_run.py
new file mode 100644
index 0000000..1ba8361
--- /dev/null
+++ b/script/windows_run.py
@@ -0,0 +1,35 @@
+from pathlib import Path
+import os, subprocess, time, requests, wda
+
+UDID = "00008110-00067D0014D3B01E"
+MAC = "http://192.168.1.90: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}")
+
+# 避免 DLL 找不到:把目录加入 PATH(以及 Windows 的 DLL 搜索路径)
+env = os.environ.copy()
+env["PATH"] = str(IPROXY.parent) + os.pathsep + env.get("PATH", "")
+try:
+ os.add_dll_directory(str(IPROXY.parent))
+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)
+
+# 探活 WDA
+c = wda.Client("http://127.0.0.1:9111")
+for _ in range(120):
+ try:
+ print(c.status()); break
+ except Exception:
+ time.sleep(1)