diff --git a/.idea/workspace.xml b/.idea/workspace.xml index f72c7f4..a3bbe26 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,17 +5,49 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - { + "keyToString": { + "ASKED_ADD_EXTERNAL_FILES": "true", + "Python.123.executor": "Run", + "Python.Main.executor": "Run", + "RunOnceActivity.ShowReadmeOnStart": "true", + "SHARE_PROJECT_CONFIGURATION_FILES": "true", + "git-widget-placeholder": "main", + "javascript.nodejs.core.library.configured.version": "22.18.0", + "javascript.nodejs.core.library.typings.version": "22.18.0", + "last_opened_file_path": "F:/company code/AI item/20250820/iOSAI", + "node.js.detected.package.eslint": "true", + "node.js.detected.package.tslint": "true", + "node.js.selected.package.eslint": "(autodetect)", + "node.js.selected.package.tslint": "(autodetect)", + "nodejs_package_manager_path": "npm", + "settings.editor.selected.configurable": "com.gitee.ui.GiteeSettingsConfigurable", + "vue.rearranger.settings.migration": "true" } -}]]> +} @@ -131,56 +160,8 @@ - - - + \ 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 2491d4f..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,41 +78,58 @@ class DevDiskImageDeployer: pass def deploy_all(self): - candidates = list(self._iter_version_dirs(self._src_dir)) - if self.verbose: - if not candidates: - print("[WARN] 未发现任何版本目录(仅匹配 15 / 15.6 / 16.7 / 16.7.1 这种名字)") - else: - print("[INFO] 发现版本目录:") - for c in candidates: - print(f" - {c.name}") - + 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: - if self.verbose: - print(f"[SKIP] 已存在:{dst}") - skipped += 1 - continue - if dst.exists() and self.overwrite: - if self.verbose: - print(f"[INFO] 覆盖模式,删除:{dst}") - 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