You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在macOS上以编程方式添加自定义URL Scheme?

自动化配置自定义URL Scheme(基于SwiftDefaultApps)

核心实现步骤

1. 确保SwiftDefaultTools可用

如果面向普通用户分发,建议将SwiftDefaultApps的二进制包集成到安装流程,或通过Homebrew自动安装。脚本中可添加检测逻辑:

if ! command -v swiftdefaultapps &> /dev/null; then
    # 自动安装Homebrew(若未安装)
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    brew install swiftdefaultapps
fi

2. 编写自动化配置脚本

以下是完整shell脚本,用于注册并绑定自定义URL Scheme到目标应用:

#!/bin/bash

# 替换为你的应用路径和协议名称
TARGET_APP="/Applications/YourApp.app"
CUSTOM_SCHEME="myCustomProtocol"

# 建立URL Scheme与应用的关联
swiftdefaultapps add handler --urlscheme "$CUSTOM_SCHEME" --app "$TARGET_APP"

# 设置该应用为协议的默认处理程序
swiftdefaultapps set handler --urlscheme "$CUSTOM_SCHEME" --app "$TARGET_APP"

echo "✅ 自定义URL Scheme '$CUSTOM_SCHEME' 已绑定到 $TARGET_APP"

3. 确认应用支持URL参数接收

确保你的.app的Info.plist中已配置URL类型(手动配置时应已完成,此处做校验):

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>Custom Protocol Handler</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>myCustomProtocol</string>
        </array>
    </dict>
</array>

分发与安装建议

  • 将上述脚本作为应用安装包(如.pkg)的后安装脚本执行,用户安装.app时自动完成配置。
  • 脚本需要管理员权限,执行时需添加sudo前缀,安装包可自动触发权限请求。

测试验证

配置完成后,在终端执行命令测试:

open myCustomProtocol://Users/xxx/indesign/A.indd

若应用正常启动并处理文件路径参数,说明配置成功。

内容的提问来源于stack exchange,提问作者Fitspade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 04:45:30