fix: 皮肤包替换忽略 __MACOSX 及隐藏文件
macOS 压缩产生的皮肤 zip 顶层含 __MACOSX 目录,导致解压后判定为 多目录、退回使用解压根目录作 THEME,从而把 __MACOSX 和真实皮肤目录 一并复制进 Images.xcassets。解压统计顶层条目时过滤 __MACOSX 与隐藏 文件,并在 _apply_theme 复制时兜底跳过,使 THEME 正确下钻到真实皮肤 目录。旧皮肤包不含这些条目,行为不变,完全兼容。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
605c09c88a
commit
9d766a0b58
@@ -68,6 +68,9 @@ def _apply_theme(build_dir: Path, theme_dir: str, messages: list[str]):
|
||||
for item in source.iterdir():
|
||||
if not item.is_dir():
|
||||
continue
|
||||
# 跳过 macOS 压缩包内的 __MACOSX 及隐藏目录,仅复制真实皮肤资源
|
||||
if item.name == "__MACOSX" or item.name.startswith("."):
|
||||
continue
|
||||
destination = target_assets / item.name
|
||||
if destination.exists():
|
||||
shutil.rmtree(destination)
|
||||
|
||||
Reference in New Issue
Block a user