跳转到内容

iOS/Android 来电识别与联系人同步完全指南 | CardDAV vCards 配置教程

Mobile Contact Sync and Caller ID

在日常使用中,接到快递、外卖、骚扰电话时,手机往往只显示一串陌生号码。vCards 项目通过 CardDAV 协议为中国大陆用户提供了一套完整的黄页解决方案,涵盖快递、外卖、银行、政府机构等常用号码,让你的 iOS/Android 设备能够像手机管家一样智能识别来电归属。

什么是 vCards?

vCards 是一个开源的中国大陆电话号码黄页数据库,由社区维护更新,包含:

  • 📦 快递物流:顺丰、京东、菜鸟、中通、圆通等
  • 🍔 外卖餐饮:美团、饿了么、肯德基、麦当劳等
  • 🏦 金融机构:各大银行、信用卡中心、保险公司
  • 🏛️ 政府服务:公安、税务、社保、公积金中心
  • 📞 客服热线:电商平台、运营商、公共服务
  • ⚠️ 骚扰标记:已知的营销、诈骗号码

项目地址: https://github.com/metowolf/vCards

核心优势

优势说明
🆓 完全免费开源项目,无需付费订阅
🔄 自动更新CardDAV 订阅方式支持自动同步
🔒 隐私安全可自建服务,数据完全可控
📱 跨平台支持 iOS、Android、macOS
🌐 云端同步多设备共享同一份通讯录
🎯 精准识别社区维护,准确率高

工作原理

CardDAV 服务器 (vcards.metowolf.com)
         ↓ 同步
   iCloud / 本地通讯录
         ↓ 匹配
   来电/短信界面显示名称
  1. 数据源:vCards 维护号码数据库
  2. 传输协议:CardDAV(基于 WebDAV 的通讯录同步协议)
  3. 同步方式:定期从服务器拉取最新数据
  4. 本地匹配:来电时系统自动匹配通讯录

方法一:安装 CardDAV 描述文件(推荐)

这是最简单快捷的方式,适合大多数 iOS 用户。

1. 使用系统相机扫描下方二维码,下载配置描述文件

扫描二维码

扫码步骤:

1. 打开 iPhone 相机 App
2. 对准二维码扫描
3. 点击弹出的通知 "下载描述文件"
4. Safari 会自动下载 .mobileconfig 文件

2. 打开"设置"App,轻点"已下载描述文件"或"注册 [组织的名称]"

打开描述文件

详细操作:

路径 1(常见):
设置 → 顶部横幅 "已下载描述文件" → 点击进入

路径 2(备选):
设置 → 通用 → VPN 与设备管理 → 描述文件

3. 在右上角点击"安装",按屏幕提示操作完成导入。

安装流程:

步骤 1:点击右上角 "安装"
步骤 2:输入锁屏密码(验证身份)
步骤 3:阅读警告信息 → 继续安装
步骤 4:再次点击 "安装" 确认
步骤 5:点击 "完成"

验证成功:
设置 → 通讯录 → 账户
应该能看到新增的 CardDAV 账户

⚠️ 注意事项:

  • 描述文件仅包含配置信息,不会窃取隐私
  • 安装后可在"描述文件"管理中随时删除
  • 如提示"未签名",选择"仍然安装"即可

方法二:手动订阅 CardDAV 服务

采用订阅方式导入,优势是会自动更新,也方便区分和管理个人通讯录和黄页,避免混合两种列表。

  • 服务器:vcards.metowolf.com
  • 用户名:cn
  • 密码:cn 或任意填写

如担心隐私问题,可参考 自建教程

CardDAV 配置详解

什么是 CardDAV?

CardDAV 是基于 WebDAV 协议的通讯录同步标准,由 IETF 制定。相比传统的 VCF 文件导入,CardDAV 具有以下优势:

自动同步:定期从服务器获取更新 ✅ 双向同步:修改可同步回服务器(可选) ✅ 增量更新:仅传输变更部分,节省流量 ✅ 多设备支持:所有设备保持数据一致

设置步骤

iOS 配置

  • iOS [1] 「设置」→「通讯录」→「账户」→「添加账户」→「其他」→「添加 CardDAV 账户」

详细操作流程:

步骤 1:打开设置
设置 → 通讯录 → 账户

步骤 2:添加新账户
点击 "添加账户" → 滚动到底部 → 选择 "其他"

步骤 3:选择账户类型
点击 "添加 CardDAV 账户"

步骤 4:填写服务器信息
┌─────────────────────────────┐
│ 服务器:vcards.metowolf.com │
│ 用户名:cn                  │
│ 密码:cn                    │
│ 描述:vCards 黄页(可选)   │
└─────────────────────────────┘

步骤 5:验证并保存
点击 "下一步" → 等待验证 → 点击 "存储"

步骤 6:配置同步选项
☑️ 通讯录(必须勾选)
□ 提醒事项(不需要)
□ 备忘录(不需要)

高级设置(可选):

设置 → 通讯录 → 账户 → vCards 黄页

端口:443(HTTPS 默认)
使用 SSL:开启(推荐)
同步范围:所有通讯录

macOS 配置

  • Mac [2] 「通讯录」→「设置」→「账户」→「其他通讯录账户」

详细操作流程:

步骤 1:打开通讯录 App
应用程序 → 通讯录

步骤 2:进入账户设置
菜单栏 → 通讯录 → 设置(偏好设置)
→ 账户标签页

步骤 3:添加账户
点击左下角 "+" → 选择 "其他通讯录账户"

步骤 4:填写信息
┌──────────────────────────────┐
│ 账户类型:CardDAV            │
│ 用户名:cn                   │
│ 密码:cn                     │
│ 服务器地址:vcards.metowolf.com │
│ 端口:443                    │
│ 使用 SSL:✓                  │
└──────────────────────────────┘

步骤 5:创建账户
点击 "登录" → 等待验证 → 完成

验证同步状态:

通讯录 → 左侧边栏
应该能看到 "vCards" 或 "cn" 分组
包含数千个联系人条目

⚠️ 默认 iOS 获取新资料的方式为「自动」,此情况下只有连接电源和 WLAN 时才会推送数据,请耐心等待。

优化同步策略:

方法 1:强制立即同步
设置 → 通讯录 → 账户 → vCards
关闭 "通讯录" → 等待 5 秒 → 重新开启

方法 2:连接电源和 WiFi
将设备连接充电器
连接到稳定的 WiFi 网络
等待 10-30 分钟

方法 3:手动触发(macOS)
通讯录 → 文件 → 同步通讯录
或使用快捷键 Cmd + R

同步频率说明:

条件同步行为
连接电源 + WiFi自动同步(最快)
仅 WiFi延迟同步
蜂窝网络不同步(节省流量)
手动刷新立即同步

方法三:下载导入

如果不希望使用 CardDAV 订阅,可以手动下载 VCF 文件并导入到通讯录。这种方式适合:

  • 🟡 网络环境无法访问 CardDAV 服务器
  • 🟡 希望完全离线使用
  • 🟡 需要自定义筛选号码

详细操作步骤

  1. 前往 vCards Releases 页面 下载最新打包文件 archive.zip

下载说明:

1. 访问 GitHub Releases 页面
2. 找到最新版本(Latest release)
3. 下载 Assets 中的 archive.zip
4. 文件大小约 5-10 MB
  1. 解压后,根据不同平台指南导入 vcf 文件至 iCloud(建议单独创建「黄页」分组以便管理与隐藏)

解压文件:

bash
# macOS/Linux
unzip archive.zip

# Windows
右键 解压缩到当前文件夹

解压后得到:
├── cn.vcf          # 中国大陆黄页
├── tw.vcf          # 台湾地区
├── hk.vcf          # 香港地区
└── ...

macOS

详细导入流程:

步骤 1:创建专用分组
1. 打开通讯录 App
2. 左侧边栏右键 → "新建群组"
3. 命名为 "vCards 黄页" 或 "黄页"

步骤 2:导入 VCF 文件
1. 双击 cn.vcf 文件

2. 通讯录 → 文件 → 导入 → 选择 cn.vcf

步骤 3:选择目标分组
导入时会询问添加到哪个分组
选择刚创建的 "vCards 黄页"

步骤 4:验证导入结果
1. 点击左侧 "vCards 黄页" 分组
2. 应该看到数千个联系人
3. 随机搜索测试(如 "顺丰"、"美团")

批量导入多个文件:

bash
# 一次性导入所有地区
for file in *.vcf; do
  open "$file"
done

iOS / Web

通过 iCloud.com 导入:

步骤 1:访问 iCloud
浏览器打开 https://www.icloud.com/contacts

步骤 2:登录 Apple ID
使用你的 Apple ID 登录

步骤 3:创建分组
1. 左下角点击 "+" → "新建群组"
2. 命名为 "vCards 黄页"

步骤 4:导入 VCF
1. 左下角点击齿轮图标 ⚙️
2. 选择 "导入 vCard"
3. 选择 cn.vcf 文件
4. 等待上传完成(可能需要几分钟)

步骤 5:同步到设备
iPhone 设置 → [你的名字] → iCloud
确保 "通讯录" 开关已开启
等待同步完成

通过 AirDrop 导入(iOS):

步骤 1:准备文件
在 Mac 上打开 cn.vcf

步骤 2:AirDrop 发送
右键文件 → 分享 → AirDrop
选择你的 iPhone

步骤 3:iPhone 接收
点击 "接受" → 选择 "全部添加"
或 "添加到现有联系人"

注意:此方式会合并到主通讯录
建议先创建空分组再导入

三种方法对比

特性描述文件CardDAV 订阅手动导入
配置难度⭐ 简单⭐⭐ 中等⭐⭐⭐ 复杂
自动更新✅ 是✅ 是❌ 否
数据隔离✅ 独立账户✅ 独立账户⚠️ 需手动分组
多设备同步✅ 自动✅ 自动❌ 需重复操作
离线可用✅ 是⚠️ 需联网同步✅ 是
隐私控制⚠️ 依赖官方⚠️ 依赖官方✅ 完全自主
适用场景快速上手长期使用特殊需求

推荐选择:

新手用户 → 方法一(描述文件)
长期用户 → 方法二(CardDAV 订阅)
隐私敏感 → 方法三(手动导入)或自建

高级用法

1. 自建 CardDAV 服务器

如果你担心隐私问题,可以自建 CardDAV 服务器。

推荐方案:

方案难度特点
Radicale⭐⭐轻量级 Python 实现
Baïkal⭐⭐⭐功能完整,支持 CalDAV
Nextcloud⭐⭐⭐⭐全功能云平台
Docker 一键部署最简单

Docker 快速部署示例:

yaml
# docker-compose.yml
version: '3'
services:
  radicale:
    image: tomsquest/docker-radicale
    ports:
      - "5232:5232"
    volumes:
      - ./data:/data
      - ./config:/config
    environment:
      - RADICALE_CONFIG=/config/config

配置步骤:

bash
# 1. 克隆 vCards 仓库
git clone https://github.com/metowolf/vCards.git

# 2. 转换 VCF 为 CardDAV 格式
cd vCards
python3 convert.py

# 3. 启动 Radicale
docker-compose up -d

# 4. 访问 http://localhost:5232
# 创建集合并导入数据

详细教程:https://github.com/metowolf/vCards/issues/208

2. Android 配置

虽然 vCards 主要针对 iOS 优化,但 Android 用户也可以使用。

推荐应用:

应用特点下载
DAVx⁵开源,功能强大F-Droid / Play Store
CardDAV-Sync轻量级Play Store
EteSync端到端加密官网

DAVx⁵ 配置步骤:

步骤 1:安装 DAVx⁵
F-Droid 或 Play Store 搜索 "DAVx⁵"

步骤 2:添加账户
打开 DAVx⁵ → "+" → "登录已有服务器"

步骤 3:填写信息
URL: https://vcards.metowolf.com
用户名: cn
密码: cn

步骤 4:同步通讯录
勾选 "通讯录" → 开始同步

步骤 5:设置默认通讯录
电话 App → 设置 → 默认通讯录
选择 vCards

来电识别增强:

安装 Truecaller 或类似应用
导入 vCards 数据
获得更精准的来电识别

3. 数据筛选与定制

如果只需要特定类型的号码,可以自行筛选。

使用 grep 筛选:

bash
# 只保留快递相关
grep -A 5 "顺丰\|京东\|菜鸟" cn.vcf > delivery.vcf

# 只保留银行相关
grep -A 5 "银行\|信用卡" cn.vcf > bank.vcf

# 排除骚扰号码
grep -v "营销\|骚扰" cn.vcf > clean.vcf

编辑 VCF 文件:

bash
# 使用文本编辑器
vim cn.vcf

# 或使用专用工具
brew install vcardutils
vcf-edit cn.vcf

4. 自动化脚本

定期更新脚本(macOS):

bash
#!/bin/bash
# update-vcards.sh

# 下载最新版本
curl -L https://github.com/metowolf/vCards/releases/latest/download/archive.zip \
  -o /tmp/vcards.zip

# 解压
unzip -o /tmp/vcards.zip -d /tmp/vcards

# 备份旧数据
cp ~/Library/Application\ Support/AddressBook/Sources/*/cn.vcf \
   ~/Backup/cn.vcf.backup

# 导入新数据
open /tmp/vcards/cn.vcf

echo "vCards 更新完成!"

设置定时任务:

bash
# 每周日凌晨 3 点自动更新
crontab -e
0 3 * * 0 /path/to/update-vcards.sh

常见问题排查

Q1: CardDAV 账户添加失败?

可能原因:

  1. 网络连接问题
  2. 服务器地址错误
  3. 认证信息错误

解决方案:

bash
# 1. 测试网络连通性
ping vcards.metowolf.com

# 2. 验证 HTTPS 证书
curl -I https://vcards.metowolf.com

# 3. 检查凭据
# 确认用户名和密码都是 "cn"

# 4. 尝试备用服务器
# 查看 GitHub Issues 是否有镜像

Q2: 通讯录中没有显示 vCards 联系人?

排查步骤:

步骤 1:检查同步状态
设置 → 通讯录 → 账户 → vCards
查看最后同步时间

步骤 2:强制同步
关闭 "通讯录" 开关 → 等待 → 重新开启

步骤 3:检查分组显示
通讯录 App → 左上角 "群组"
确保 vCards 分组已勾选

步骤 4:重启设备
有时需要重启才能生效

Q3: 来电仍然不显示名称?

可能原因:

  1. 数据尚未同步完成
  2. 号码格式不匹配
  3. 系统缓存问题

解决方案:

方法 1:等待同步完成
首次同步可能需要数小时
连接电源和 WiFi 加速

方法 2:检查号码格式
vCards 使用 +86 格式
确保来电号码格式一致

方法 3:重建索引
设置 → 通用 → 传输或还原 iPhone
→ 还原 → 还原所有设置
(不会删除数据)

方法 4:重新导入
删除 CardDAV 账户
重新添加并等待同步

Q4: 如何更新 vCards 数据?

CardDAV 方式:

自动更新:
- 系统会在连接电源和 WiFi 时自动同步
- 通常每天更新一次

手动触发:
- 设置 → 通讯录 → 账户 → vCards
- 关闭再开启 "通讯录" 开关

手动导入方式:

1. 下载最新版 archive.zip
2. 解压获取 cn.vcf
3. 按照方法三重新导入
4. 覆盖旧数据

Q5: 如何删除 vCards 通讯录?

iOS 删除步骤:

1. 设置 → 通讯录 → 账户
2. 选择 vCards 账户
3. 点击 "删除账户"
4. 选择 "从我的 iPhone 删除"

注意:这只会删除本地副本
不会影响服务器数据

macOS 删除步骤:

1. 通讯录 → 设置 → 账户
2. 选择 vCards 账户
3. 点击 "-" 删除
4. 确认删除

隐私与安全

数据安全说明

使用官方 CardDAV 服务:

✅ 数据传输加密(HTTPS)
✅ 仅读取公开数据
✅ 不收集个人信息
⚠️ 信任第三方服务器

自建服务:

✅ 完全数据自主
✅ 无第三方依赖
✅ 可审计代码
⚠️ 需要维护成本

隐私保护建议

1. 最小权限原则
   - 仅授予通讯录读取权限
   - 不允许写入(如不需要)

2. 定期检查
   - 审查已安装的描述文件
   - 监控通讯录变化

3. 数据隔离
   - 使用独立分组管理黄页
   - 便于随时禁用或删除

4. 自建优先
   - 如有技术能力,推荐自建
   - 完全掌控数据流向

总结

通过 vCards 和 CardDAV 协议实现智能来电识别:

  1. 方法一(推荐):扫码安装描述文件,最简单快捷
  2. 方法二(长期):手动订阅 CardDAV,支持自动更新
  3. 方法三(离线):下载 VCF 手动导入,完全自主控制

关键收益:

  • 🎯 来电自动显示商家名称
  • 📱 短信智能识别来源
  • 🔒 隐私安全可控
  • 🔄 数据自动更新
  • 🌐 多设备同步

下一步学习:

让你的手机更加智能便捷!🚀✨


免责声明

本文仅供技术交流和学习参考,请遵守当地法律法规,合理合法使用网络服务。


  1. 在 iPhone 上设置邮件、通讯录和日历账户 ↩︎

  2. 在 Mac 上将来自 iCloud、谷歌等的联系人添加到"通讯录" ↩︎