Skip to content

feat(macos): add built-in share entry for Qoder CN - #45

Open
jackeyunjie wants to merge 1 commit into
freestylefly:mainfrom
jackeyunjie:feat/qoder-cn-share-entry
Open

jackeyunjie wants to merge 1 commit into
freestylefly:mainfrom
jackeyunjie:feat/qoder-cn-share-entry

Conversation

@jackeyunjie

Copy link
Copy Markdown

动机

Qoder CN(com.qodercn.app)是国内用户量不小的 AI 编程工具。「发送到自定义」入口已经可以转发到它,但内置入口的体验更好:设置页直接显示安装状态、带官方图标、分享菜单一眼可认。本次把它补成第十三个内置入口。

改动

  • ShareAction 新增 qoderCN case,五个穷尽 switch(targetBundleIdentifier / needsIntent / targetDisplayName / entryTitle / bundleIdentifierSuffix)全部补齐
  • Scripts/share-slots.sh 新增一行:QoderCN|WeChatBridgeShareQoderCN|ShareQoderCN|qoderCN|发给 Qoder CN,并映射图标 08-qodercn.png
  • 图标提取自本机 /Applications/Qoder CN.app 的 icon.icns(1024×1024)
  • 双语本地化:ShareLocalizations/QoderCN/{zh-Hans,en}.lproj/InfoPlist.strings(「发给 Qoder CN」/ "Send to Qoder CN")+ Localizable.strings 的入口标题与详情文案
  • ShareEntryList / ForwardTargets / ActionRunner / AppModel / BatchState 的 switch 全部补 case;应用内「发给 ▸」菜单同步出现 Qoder CN
  • check-release-config.sh 入口数校验 12 → 13
  • ShareActionTests:allCases 计数 13、bundle id 断言、needsIntent 清单、新增 qoderCN Codable round-trip 测试(钉住与 appex DKShareAction 的接线契约)
  • 文档(README / README_EN / USAGE 中英文 / PRODUCT_CAPABILITIES)同步为十三个入口,入口清单补 Qoder CN(USAGE 清单顺带补上此前漏掉的 DeepSeek Harness);两处 "nine entries" 过时注释一并修正
  • Windows 侧未动:Windows 仍是 12 个操作,相关 parity 文档保持不变

验证方式

  • swift Scripts/check-localizations.swift ✅(zh-Hans / en 一致)
  • Scripts/check-release-config.sh ✅(13 个入口、slot 与 ShareAction 双向咬合、双语 strings、图标齐全)
  • CONFIG=release Scripts/make-app.sh ✅:构建出 13 个 appex,codesign --verify --deep --strict 通过;WeChatBridgeShareQoderCN.appex 的 bundle id(com.xiangming.wechatbridge.ShareQoderCN)、DKShareAction=qoderCN、双语 CFBundleDisplayName 逐一核对无误
  • 实机验收 ✅:开发版安装后,微信里合并转发聊天记录到「发给 Qoder CN」,归档文件与场景提示词正常粘贴进 Qoder CN 输入框
  • ⚠️ swift test 未能在本机运行:开发机只装了 Command Line Tools(Swift 6.3.3),其中不含 XCTest.framework,测试目标编译报 no such module 'XCTest'。改动已按现有惯例在 ShareActionTests 补了对应断言,请 CI 跑完整测试套件

界面变化

  • 系统分享菜单(微信「转发到其他应用」)新增「发给 Qoder CN」
  • 设置 → 入口 列表新增一行(带 Qoder CN 图标、安装状态标注、开关)
  • 记录页与设置页的「发给 ▸」菜单新增 Qoder CN

新增内置分享入口「发给 Qoder CN」(目标应用 com.qodercn.app),
与 Codex、Claude 等入口一样走「激活 + 自动粘贴」路径:

- ShareAction 新增 qoderCN case,补齐 targetBundleIdentifier /
  needsIntent / targetDisplayName / entryTitle / bundleIdentifierSuffix
- share-slots.sh 新增一行,入口数 12 → 13
- 图标 08-qodercn.png 提取自本地 Qoder CN.app
- zh-Hans / en 双语 InfoPlist.strings 与 Localizable.strings
- ShareEntryList、ForwardTargets、ActionRunner、AppModel、BatchState
  的穷尽 switch 全部补 case
- ShareActionTests 补 bundle id / needsIntent / Codable round-trip 断言
- README、USAGE、PRODUCT_CAPABILITIES 文档同步为十三个入口

验证:check-localizations.swift 与 check-release-config.sh 通过;
CONFIG=release make-app.sh 构建成功(13 个 appex,签名验证通过);
已实机验收——微信转发到「发给 Qoder CN」后归档与场景提示词正常
粘贴进 Qoder CN。本机 Command Line Tools 不含 XCTest.framework,
swift test 未能运行,请 CI 跑测试套件。

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant