Skip to content

Commit 6174452

Browse files
change app name
1 parent f99c062 commit 6174452

File tree

1 file changed

+17
-18
lines changed

1 file changed

+17
-18
lines changed

.github/workflows/build.yml

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,38 +19,35 @@ jobs:
1919

2020
- name: Modify bundle IDs and display name
2121
run: |
22-
echo "=== 全局查找所有 Info.plist 文件 ==="
23-
find . -name "Info.plist"
24-
2522
PROJECT_FILE="Geranium.xcodeproj/project.pbxproj"
2623
PLIST_FILE="Geranium/Info.plist"
2724
28-
if [ ! -f "$PROJECT_FILE" ]; then
29-
echo "Error: $PROJECT_FILE 不存在!"; exit 1
30-
fi
31-
if [ ! -f "$PLIST_FILE" ]; then
32-
echo "Error: $PLIST_FILE 不存在!"; exit 1
33-
fi
25+
if [ ! -f "$PROJECT_FILE" ]; then echo "Error: $PROJECT_FILE 不存在"; exit 1; fi
26+
if [ ! -f "$PLIST_FILE" ]; then echo "Error: $PLIST_FILE 不存在"; exit 1; fi
3427
35-
# ── 1. 替换 Bundle ID(只改 ASCII 字符,pbxproj 安全)────────────
28+
# 1. 替换 Bundle ID( ASCII安全)
3629
sed -i '' 's/live\.cclerc\.geranium/com.cloud.trail/g' "$PROJECT_FILE"
3730
sed -i '' 's/com\.cloud\.trail\.Bookmark-Location-in-Geranium/com.cloud.trail.BookmarkLocation/g' "$PROJECT_FILE"
38-
echo "已修改 Bundle ID"
3931
40-
# ── 2. 用 PlistBuddy 直接写主应用 Info.plist 显示名称 ───────────
41-
# 这是使用自定义 Info.plist 项目的唯一正确方式
42-
# PlistBuddy 原生支持 UTF-8,中文写入100%安全
32+
# 2. 【关键修复】从 pbxproj 删除 INFOPLIST_KEY_CFBundleDisplayName / CFBundleName 这两行
33+
# Xcode 构建时会把 pbxproj 里这两个键的值注入到最终 app bundle 的 Info.plist,
34+
# 直接覆盖 PlistBuddy 对源文件的修改。删掉后 Xcode 不会注入,PlistBuddy 的值才真正保留。
35+
# sed 删行是纯 ASCII 操作,不会损坏 pbxproj 格式。
36+
sed -i '' '/INFOPLIST_KEY_CFBundleDisplayName/d' "$PROJECT_FILE"
37+
sed -i '' '/INFOPLIST_KEY_CFBundleName/d' "$PROJECT_FILE"
38+
echo "已从 pbxproj 删除 INFOPLIST_KEY 注入键"
39+
40+
# 3. PlistBuddy 写入主应用 Info.plist 显示名称
4341
for KEY in CFBundleDisplayName CFBundleName; do
4442
if /usr/libexec/PlistBuddy -c "Print :${KEY}" "$PLIST_FILE" 2>/dev/null; then
4543
/usr/libexec/PlistBuddy -c "Set :${KEY} 云踪" "$PLIST_FILE"
46-
echo "已更新 $KEY"
4744
else
4845
/usr/libexec/PlistBuddy -c "Add :${KEY} string 云踪" "$PLIST_FILE"
49-
echo "已新增 $KEY"
5046
fi
5147
done
48+
echo "已写入主应用 Info.plist 显示名称"
5249
53-
# ── 3. 修改扩展 Info.plist Bundle ID ───────────────────────────
50+
# 4. 修改扩展 Info.plist Bundle ID
5451
EXT_PLIST_LIST=$(find . -name "Info.plist" | grep -i -E "bookmark|extension|appex" | grep -v "Preview" | grep -v "Assets")
5552
if [ -z "$EXT_PLIST_LIST" ]; then
5653
echo "警告:未找到扩展 Info.plist,跳过"
@@ -67,10 +64,12 @@ jobs:
6764
done
6865
fi
6966
70-
# ── 验证 ────────────────────────────────────────────────────────
67+
# 5. 验证
7168
echo "=== 验证主应用 Info.plist ==="
7269
/usr/libexec/PlistBuddy -c "Print :CFBundleDisplayName" "$PLIST_FILE"
7370
/usr/libexec/PlistBuddy -c "Print :CFBundleName" "$PLIST_FILE"
71+
echo "=== 确认 pbxproj 中不再含有 INFOPLIST_KEY_CFBundleDisplayName ==="
72+
grep "INFOPLIST_KEY_CFBundleDisplayName" "$PROJECT_FILE" && echo "警告:仍有残留!" || echo "确认已删除"
7473
7574
- name: Clone RootHelper manually
7675
run: |

0 commit comments

Comments
 (0)