将Chrome扩展转换为Safari | AI生成和翻译

Home 2026.05

以下是完成的所有工作的摘要:


已将 TabsKiller 从 Chrome 扩展程序转换为 Safari 扩展程序

项目结构

safari-tabs-killer/         ← 原始源代码,现已兼容 Safari
TabsKiller/                 ← 生成的 Xcode 项目(构建成功)
├── TabsKiller.xcodeproj
├── TabsKiller/
│   ├── AppDelegate.swift
│   ├── ViewController.swift
│   ├── Main.storyboard
│   └── Resources/            ← 空的应用外壳资源
└── TabsKiller Extension/
    ├── SafariWebExtensionHandler.swift   ← 原生消息桥接
    ├── Info.plist                        ← 标识为 Safari Web 扩展
    └── Resources/
        ├── manifest.json                 ← 相同的 manifest,可在 Safari 中运行
        ├── background.html / background.js
        ├── popup.html / popup.js
        └── js/                           ← tabmanager.js, settings.js, libs

源代码中的更改

文件 更改内容
js/settings.js chrome.storage.syncchrome.storage.local(Safari 不支持同步存储)
js/settings.js 默认白名单:['chrome://*'][](仅 Chrome 使用的协议)
README.md 更新文档,改为 Safari 安装说明,而非 Chrome Web Store

如何构建与运行

# 打开 Xcode(或使用命令行)
open /Users/lzwjava/projects/projects/TabsKiller/TabsKiller.xcodeproj

# 在 Xcode 中:
# 1. 在 Signing & Capabilities 中选择你的开发者团队
# 2. Product → Run(或 Cmd+R)

# 或通过命令行:
cd /Users/lzwjava/projects/projects/TabsKiller
xcodebuild -project TabsKiller.xcodeproj -scheme TabsKiller build

# 然后找到应用并运行(或从 Xcode 运行)

启动后,应用会在 Safari 中注册该扩展。前往 Safari → 设置 → 扩展 并启用 “Tabs Killer”。

如需重新转换(从零开始)

xcrun safari-web-extension-converter safari-tabs-killer \
  --app-name "TabsKiller" \
  --bundle-identifier "com.lzw.TabsKiller" \
  --macos-only --force --no-prompt --copy-resources

原始仅 Chrome 版本的备份位于 safari-tabs-killer-backup/


Back Donate