心跳包间隔,保持连接

导读:

  1. iOS 系统设置(关键)
  2. Shadowrocket 应用内设置
  3. 进阶解决方案
  4. iOS 版本差异说明
  5. 如果以上无效

针对 Shadowrocket(小火箭) 在 iOS 后台被系统终止(杀后台)的问题,以下是系统性的解决办法,按优先级排序:

iOS 系统设置(关键)

开启后台 App 刷新

  • 设置通用后台 App 刷新 → 找到 Shadowrocket → 开启
  • 注意:iOS 16+ 系统即使开启,VPN 类应用仍可能被限制,建议同时开启"无线局域网与蜂窝数据"

关闭电池优化

  • 设置电池低电量模式关闭(低电量模式会 aggressively 杀后台)
  • 设置电池电池健康与充电 → 关闭"优化电池充电"(部分机型)

屏幕使用时间检查

  • 设置屏幕使用时间App 限额,确认没有给 Shadowrocket 设置时间限制

Shadowrocket 应用内设置

开启"按需连接"(最重要)

  • 打开 Shadowrocket → 设置(右下角)→ 始终开启(Connect On Demand)→ 开启
  • 这样即使 App 被划掉,系统 VPN 配置仍会保持连接

关闭"自动断开"

  • 设置隧道 → 关闭"自动断开"(Auto Disconnect)

开启通知权限

  • 设置通知 → Shadowrocket → 允许通知
  • iOS 对有通知权限的 App 后台存活更友好

添加小组件(辅助)

  • 长按主屏幕 → 添加小组件 → 选择 Shadowrocket
  • 虽然主要是快捷操作,但偶尔能触发系统保留进程

进阶解决方案

使用"快捷指令"自动化保持活跃

  • 快捷指令自动化创建个人自动化
  • 选择"特定时间"(每 30 分钟)或"打开 App"
  • 操作选择"打开 App" → 选择 Shadowrocket
  • 关闭"运行前询问"

配置文件的"保持连接"参数

在配置文件的 [General] 段添加:

# 自动重连
auto-reconnect = true

避免内存不足被杀

  • 定期清理后台其他应用(iOS 内存紧张时会优先杀 VPN 类后台)
  • 重启手机后第一时间打开 Shadowrocket 建立连接

iOS 版本差异说明

iOS 版本 后台表现 建议
iOS 12-14 较宽松 基本只需开启后台刷新
iOS 15 中等严格 必须开启"始终开启"
iOS 16-17 非常严格 需配合快捷指令+始终开启

如果以上无效

  1. 重装应用:删除后重新安装(会重置 VPN 配置权限)
  2. 重置网络设置设置通用传输或还原 iPhone还原还原网络设置
  3. 检查企业证书:如果是非 App Store 版本,证书过期或撤销会导致频繁掉线

核心原理:iOS 的 VPN 连接实际上由系统守护进程 racoonNEPacketTunnelProvider 维护,只要"始终开启"(Connect On Demand)功能正常开启,即使 App 本身被划掉,VPN 连接理论上仍应保持,如果频繁断开,通常是系统电池管理或网络切换导致。

建议优先确保"始终开启"功能正常工作,这是 iOS 系统级的保活机制。

您可以还会对下面的文章感兴趣: