diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 6eaf8ac..a3bbe26 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,7 +4,51 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -164,7 +208,8 @@
-
+
+
@@ -189,7 +234,7 @@
-
+
\ No newline at end of file
diff --git a/Entity/Variables.py b/Entity/Variables.py
index 164ffd2..9b350d2 100644
--- a/Entity/Variables.py
+++ b/Entity/Variables.py
@@ -3,7 +3,7 @@ from typing import Dict, Any
from Entity.AnchorModel import AnchorModel
# wda apple bundle id
-WdaAppBundleId = "com.yoloAgent.wda.xctrunner"
+WdaAppBundleId = "com.yolozsAgent.wda.xctrunner"
# 全局主播列表
anchorList: list[AnchorModel] = []
# 线程锁
diff --git a/SupportFiles/15.0/DeveloperDiskImage.dmg b/SupportFiles/14.0.zip
similarity index 58%
rename from SupportFiles/15.0/DeveloperDiskImage.dmg
rename to SupportFiles/14.0.zip
index ff05ec0..bd7a539 100644
Binary files a/SupportFiles/15.0/DeveloperDiskImage.dmg and b/SupportFiles/14.0.zip differ
diff --git a/SupportFiles/14.1.zip b/SupportFiles/14.1.zip
new file mode 100644
index 0000000..ceb8328
Binary files /dev/null and b/SupportFiles/14.1.zip differ
diff --git a/SupportFiles/14.2.zip b/SupportFiles/14.2.zip
new file mode 100644
index 0000000..6190de1
Binary files /dev/null and b/SupportFiles/14.2.zip differ
diff --git a/SupportFiles/14.3.zip b/SupportFiles/14.3.zip
new file mode 100644
index 0000000..1203d70
Binary files /dev/null and b/SupportFiles/14.3.zip differ
diff --git a/SupportFiles/14.4.zip b/SupportFiles/14.4.zip
new file mode 100644
index 0000000..a1025db
Binary files /dev/null and b/SupportFiles/14.4.zip differ
diff --git a/SupportFiles/14.5.zip b/SupportFiles/14.5.zip
new file mode 100644
index 0000000..d91b781
Binary files /dev/null and b/SupportFiles/14.5.zip differ
diff --git a/SupportFiles/14.6.zip b/SupportFiles/14.6.zip
new file mode 100644
index 0000000..9ed5e41
Binary files /dev/null and b/SupportFiles/14.6.zip differ
diff --git a/SupportFiles/14.7.zip b/SupportFiles/14.7.zip
new file mode 100644
index 0000000..3a8f01a
Binary files /dev/null and b/SupportFiles/14.7.zip differ
diff --git a/SupportFiles/14.8.zip b/SupportFiles/14.8.zip
new file mode 100644
index 0000000..ea9c3a6
Binary files /dev/null and b/SupportFiles/14.8.zip differ
diff --git a/SupportFiles/15.2/DeveloperDiskImage.dmg b/SupportFiles/15.0.zip
similarity index 58%
rename from SupportFiles/15.2/DeveloperDiskImage.dmg
rename to SupportFiles/15.0.zip
index bc6c987..a91df82 100644
Binary files a/SupportFiles/15.2/DeveloperDiskImage.dmg and b/SupportFiles/15.0.zip differ
diff --git a/SupportFiles/15.0/DeveloperDiskImage.dmg.signature b/SupportFiles/15.0/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index a18adce..0000000
--- a/SupportFiles/15.0/DeveloperDiskImage.dmg.signature
+++ /dev/null
@@ -1 +0,0 @@
-8!=Y
JK.x If>x<]]~"#9 IPmJp}};+G)v56[|D\?PwE3Ӳ4(
\ No newline at end of file
diff --git a/SupportFiles/15.1/DeveloperDiskImage.dmg b/SupportFiles/15.1.zip
similarity index 58%
rename from SupportFiles/15.1/DeveloperDiskImage.dmg
rename to SupportFiles/15.1.zip
index bc6c987..bd07873 100644
Binary files a/SupportFiles/15.1/DeveloperDiskImage.dmg and b/SupportFiles/15.1.zip differ
diff --git a/SupportFiles/15.1/DeveloperDiskImage.dmg.signature b/SupportFiles/15.1/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index 95b9d92..0000000
--- a/SupportFiles/15.1/DeveloperDiskImage.dmg.signature
+++ /dev/null
@@ -1,2 +0,0 @@
-j#
-8Q_jl~y=Xćwۥ_{,ϋLRm0^WSMF{[^f]̧ʼ辮($⊬Ei{Wq4e-ɿ
L}97`c
\ No newline at end of file
diff --git a/SupportFiles/15.3/DeveloperDiskImage.dmg b/SupportFiles/15.2.zip
similarity index 76%
rename from SupportFiles/15.3/DeveloperDiskImage.dmg
rename to SupportFiles/15.2.zip
index 8769f68..134c25b 100644
Binary files a/SupportFiles/15.3/DeveloperDiskImage.dmg and b/SupportFiles/15.2.zip differ
diff --git a/SupportFiles/15.2/DeveloperDiskImage.dmg.signature b/SupportFiles/15.2/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index 95b9d92..0000000
--- a/SupportFiles/15.2/DeveloperDiskImage.dmg.signature
+++ /dev/null
@@ -1,2 +0,0 @@
-j#
-8Q_jl~y=Xćwۥ_{,ϋLRm0^WSMF{[^f]̧ʼ辮($⊬Ei{Wq4e-ɿ
L}97`c
\ No newline at end of file
diff --git a/SupportFiles/15.3.1/DeveloperDiskImage.dmg.signature b/SupportFiles/15.3.1/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index 73de769..0000000
Binary files a/SupportFiles/15.3.1/DeveloperDiskImage.dmg.signature and /dev/null differ
diff --git a/SupportFiles/15.3.1/DeveloperDiskImage.dmg b/SupportFiles/15.3.zip
similarity index 76%
rename from SupportFiles/15.3.1/DeveloperDiskImage.dmg
rename to SupportFiles/15.3.zip
index 8769f68..1a75175 100644
Binary files a/SupportFiles/15.3.1/DeveloperDiskImage.dmg and b/SupportFiles/15.3.zip differ
diff --git a/SupportFiles/15.3/DeveloperDiskImage.dmg.signature b/SupportFiles/15.3/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index 73de769..0000000
Binary files a/SupportFiles/15.3/DeveloperDiskImage.dmg.signature and /dev/null differ
diff --git a/SupportFiles/15.4/DeveloperDiskImage.dmg b/SupportFiles/15.4.zip
similarity index 73%
rename from SupportFiles/15.4/DeveloperDiskImage.dmg
rename to SupportFiles/15.4.zip
index e8f1a9c..b62fa2d 100644
Binary files a/SupportFiles/15.4/DeveloperDiskImage.dmg and b/SupportFiles/15.4.zip differ
diff --git a/SupportFiles/15.4/DeveloperDiskImage.dmg.signature b/SupportFiles/15.4/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index 46422ae..0000000
Binary files a/SupportFiles/15.4/DeveloperDiskImage.dmg.signature and /dev/null differ
diff --git a/SupportFiles/15.5/DeveloperDiskImage.dmg b/SupportFiles/15.5.zip
similarity index 78%
rename from SupportFiles/15.5/DeveloperDiskImage.dmg
rename to SupportFiles/15.5.zip
index dff04de..d84ff97 100644
Binary files a/SupportFiles/15.5/DeveloperDiskImage.dmg and b/SupportFiles/15.5.zip differ
diff --git a/SupportFiles/15.5/DeveloperDiskImage.dmg.signature b/SupportFiles/15.5/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index 3d7a9d7..0000000
Binary files a/SupportFiles/15.5/DeveloperDiskImage.dmg.signature and /dev/null differ
diff --git a/SupportFiles/15.6.1/DeveloperDiskImage.dmg.signature b/SupportFiles/15.6.1/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index 7ff3fab..0000000
Binary files a/SupportFiles/15.6.1/DeveloperDiskImage.dmg.signature and /dev/null differ
diff --git a/SupportFiles/15.6.1/DeveloperDiskImage.dmg b/SupportFiles/15.6.zip
similarity index 73%
rename from SupportFiles/15.6.1/DeveloperDiskImage.dmg
rename to SupportFiles/15.6.zip
index 5da6947..bc450f3 100644
Binary files a/SupportFiles/15.6.1/DeveloperDiskImage.dmg and b/SupportFiles/15.6.zip differ
diff --git a/SupportFiles/15.6/DeveloperDiskImage.dmg b/SupportFiles/15.6/DeveloperDiskImage.dmg
deleted file mode 100644
index dff04de..0000000
Binary files a/SupportFiles/15.6/DeveloperDiskImage.dmg and /dev/null differ
diff --git a/SupportFiles/15.6/DeveloperDiskImage.dmg.signature b/SupportFiles/15.6/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index 3d7a9d7..0000000
Binary files a/SupportFiles/15.6/DeveloperDiskImage.dmg.signature and /dev/null differ
diff --git a/SupportFiles/15.7/DeveloperDiskImage.dmg b/SupportFiles/15.7.zip
similarity index 74%
rename from SupportFiles/15.7/DeveloperDiskImage.dmg
rename to SupportFiles/15.7.zip
index f1d57e5..13ab765 100644
Binary files a/SupportFiles/15.7/DeveloperDiskImage.dmg and b/SupportFiles/15.7.zip differ
diff --git a/SupportFiles/15.7/DeveloperDiskImage.dmg.signature b/SupportFiles/15.7/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index 9c5a3ac..0000000
--- a/SupportFiles/15.7/DeveloperDiskImage.dmg.signature
+++ /dev/null
@@ -1,2 +0,0 @@
-i{l̞d+3Bs
-NMÅ|)!%oO
zyd]QAK[FY,I\gp3tD{69V?U@<frxßc*R2./@>q3_\P<
\ No newline at end of file
diff --git a/SupportFiles/16.5/DeveloperDiskImage.dmg b/SupportFiles/16.5.zip
similarity index 50%
rename from SupportFiles/16.5/DeveloperDiskImage.dmg
rename to SupportFiles/16.5.zip
index aadc878..fc2ec0b 100644
Binary files a/SupportFiles/16.5/DeveloperDiskImage.dmg and b/SupportFiles/16.5.zip differ
diff --git a/SupportFiles/16.5/DeveloperDiskImage.dmg.signature b/SupportFiles/16.5/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index 33c4a44..0000000
--- a/SupportFiles/16.5/DeveloperDiskImage.dmg.signature
+++ /dev/null
@@ -1 +0,0 @@
-+F{69V?U@<frxßc*R2./@>q3_\P<
\ No newline at end of file
diff --git a/SupportFiles/16.6/DeveloperDiskImage.dmg b/SupportFiles/16.6.zip
similarity index 78%
rename from SupportFiles/16.6/DeveloperDiskImage.dmg
rename to SupportFiles/16.6.zip
index 35f5597..1e4924d 100644
Binary files a/SupportFiles/16.6/DeveloperDiskImage.dmg and b/SupportFiles/16.6.zip differ
diff --git a/SupportFiles/16.6/DeveloperDiskImage.dmg.signature b/SupportFiles/16.6/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index 6705a5a..0000000
--- a/SupportFiles/16.6/DeveloperDiskImage.dmg.signature
+++ /dev/null
@@ -1 +0,0 @@
-7ek$#5@mjP:/r̮9R)z*c4߯ u&7Q{FzӃ[QsZۊHnIֵ1kHVMPO".<6?I&|0
\ No newline at end of file
diff --git a/SupportFiles/16.7/DeveloperDiskImage.dmg b/SupportFiles/16.7.zip
similarity index 78%
rename from SupportFiles/16.7/DeveloperDiskImage.dmg
rename to SupportFiles/16.7.zip
index 35f5597..f2a36f8 100644
Binary files a/SupportFiles/16.7/DeveloperDiskImage.dmg and b/SupportFiles/16.7.zip differ
diff --git a/SupportFiles/16.7/DeveloperDiskImage.dmg.signature b/SupportFiles/16.7/DeveloperDiskImage.dmg.signature
deleted file mode 100644
index 6705a5a..0000000
--- a/SupportFiles/16.7/DeveloperDiskImage.dmg.signature
+++ /dev/null
@@ -1 +0,0 @@
-7ek$#5@mjP:/r̮9R)z*c4߯ u&7Q{FzӃ[QsZۊHnIֵ1kHVMPO".<6?I&|0
\ No newline at end of file
diff --git a/Utils/DevDiskImageDeployer.py b/Utils/DevDiskImageDeployer.py
index 5ad8114..d20b81e 100644
--- a/Utils/DevDiskImageDeployer.py
+++ b/Utils/DevDiskImageDeployer.py
@@ -14,38 +14,34 @@ def _find_support_root(hint: Optional[Path]) -> Optional[Path]:
2) 其次:环境变量 SUPPORT_DDI_DIR
3) 再次:从 __file__ 所在目录向上搜索 3 层,找名为 'SupportFiles' 的目录
"""
- # 1) 显式参数
if hint and hint.exists():
return hint.resolve()
- # 2) 环境变量
env = os.environ.get("SUPPORT_DDI_DIR")
if env:
p = Path(env).expanduser()
if p.exists():
return p.resolve()
- # 3) 向上搜索
here = Path(__file__).resolve().parent
- for i in range(4): # 当前目录 + 向上 3 层
+ for _ in range(4): # 当前目录 + 向上 3 层
cand = here / "SupportFiles"
if cand.exists():
return cand.resolve()
here = here.parent
-
return None
@dataclass
class DevDiskImageDeployer:
"""
- 同步 SupportFiles//... 到 ~/.tidevice/device-support//...
- - 自动定位 SupportFiles(显式参数/环境变量/向上搜索)
- - 已存在则跳过,不存在才复制
- - 详细日志
+ 同步 SupportFiles// 或 SupportFiles/.zip 到 ~/.tidevice/device-support
+ - 目录:复制为 ~/.tidevice/device-support//
+ - zip:原样复制为 ~/.tidevice/device-support/.zip (不解压)
+ - 已存在则跳过;如设置 overwrite=True 则覆盖
"""
- project_support_root: Optional[Path] = None # 可不传,自动发现
- cache_root: Optional[Path] = None # 默认 ~/.tidevice/device-support
+ project_support_root: Optional[Path] = None
+ cache_root: Optional[Path] = None
verbose: bool = True
dry_run: bool = False
overwrite: bool = False
@@ -73,7 +69,6 @@ class DevDiskImageDeployer:
print(f"[INFO] resolved SupportFiles = {self._src_dir}")
print(f"[INFO] cache_dir = {self._cache_dir}")
- # 打印一眼能看见的兄弟目录,防路径误判
parent = self._src_dir.parent
try:
siblings = ", ".join(sorted(p.name for p in parent.iterdir() if p.is_dir()))
@@ -83,29 +78,58 @@ class DevDiskImageDeployer:
pass
def deploy_all(self):
- candidates = list(self._iter_version_dirs(self._src_dir))
+ entries = list(self._iter_version_entries(self._src_dir))
copied = skipped = 0
- for ver_dir in candidates:
- dst = self._cache_dir / ver_dir.name
- if dst.exists() and not self.overwrite:
- skipped += 1
- continue
- if dst.exists() and self.overwrite:
- if not self.dry_run:
+ for p, kind, version in entries:
+ # kind: "dir" 或 "zip"
+ if kind == "dir":
+ dst = self._cache_dir / version
+ exists = dst.exists()
+ if exists and not self.overwrite:
+ skipped += 1
+ if self.verbose:
+ print(f"[SKIP] {dst} 已存在(目录)")
+ continue
+ if exists and self.overwrite and not self.dry_run:
shutil.rmtree(dst)
- if self.verbose:
- print(f"[COPY] {ver_dir} -> {dst}")
- if not self.dry_run:
- shutil.copytree(ver_dir, dst)
- copied += 1
+ if self.verbose:
+ print(f"[COPY] DIR {p} -> {dst}")
+ if not self.dry_run:
+ shutil.copytree(p, dst)
+ copied += 1
+
+ elif kind == "zip":
+ dst = self._cache_dir / f"{version}.zip"
+ exists = dst.exists()
+ if exists and not self.overwrite:
+ skipped += 1
+ if self.verbose:
+ print(f"[SKIP] {dst} 已存在(zip)")
+ continue
+ if exists and self.overwrite and not self.dry_run:
+ dst.unlink()
+
+ if self.verbose:
+ print(f"[COPY] ZIP {p} -> {dst}")
+ if not self.dry_run:
+ # 用 copy2 保留 mtime 等元数据
+ shutil.copy2(p, dst)
+ copied += 1
if self.verbose:
print(f"[SUMMARY] copied={copied}, skipped={skipped}, total={copied+skipped}")
# -------- helpers --------
- def _iter_version_dirs(self, root: Path) -> Iterable[Path]:
+ def _iter_version_entries(self, root: Path) -> Iterable[tuple[Path, str, str]]:
+ """
+ 迭代返回 (路径, 类型, 版本号)
+ - 目录:名称需匹配版本号
+ - zip:stem(去除后缀)的名称需匹配版本号
+ """
for p in sorted(root.iterdir()):
if p.is_dir() and VERSION_RE.match(p.name):
- yield p
+ yield (p, "dir", p.name)
+ elif p.is_file() and p.suffix.lower() == ".zip" and VERSION_RE.match(p.stem):
+ yield (p, "zip", p.stem)
diff --git a/resources/9c1babd72b735f9ed0b0843cffdc4fc0ebd3e449/bgv.png b/resources/9c1babd72b735f9ed0b0843cffdc4fc0ebd3e449/bgv.png
new file mode 100644
index 0000000..8e21948
Binary files /dev/null and b/resources/9c1babd72b735f9ed0b0843cffdc4fc0ebd3e449/bgv.png differ