一、先确认打卡方式
飞书和钉钉都允许企业管理员配置考勤规则。遇到定位异常时,平台名称不是最重要的信息,先确认实际启用的打卡条件:
| 校验方式 | 常见表现 | 优先检查 |
|---|---|---|
| GPS / 地理围栏 | 不在范围、位置偏移 | 定位权限、精确位置、考勤范围 |
| 指定 WiFi | 已到公司仍无法打卡 | 办公网络与管理员配置 |
| 蓝牙 / Beacon | 附近设备不可用 | 蓝牙权限、距离和现场设备 |
| 拍照 / 人脸 | 摄像头或识别失败 | 摄像头权限、光线和录入状态 |
| 组合规则 | 单项正常但仍无法打卡 | 逐项核对并联系管理员 |
如果打卡页面没有写清楚,可以让企业管理员确认考勤地点、有效范围、指定 WiFi、蓝牙设备以及拍照要求。
二、先看企业启用了哪些校验
企业可以按自身考勤制度配置不同条件,实际规则以打卡页面和管理员后台为准。常见校验包括:
GPS相关检测
- 坐标跳跃检测:短时间内GPS坐标大幅移动(如从北京瞬间跳到纽约)
- 坐标漂移检测:GPS信号不稳定时坐标在小范围内随机抖动
- 多App联合校验:部分企业开启了飞书+钉钉同时打卡,位置必须一致
WiFi相关检测
- WiFi名称检测:检测是否连接公司指定WiFi(名称必须匹配)
- WiFi MAC地址检测:部分企业还检测路由器MAC地址
设备相关检测
- ROOT/越狱检测:检测手机是否已ROOT(安卓)或越狱(iOS)
- VPN检测:检测是否使用VPN,部分企业会拦截VPN流量
- IP地理校验:服务器端比对登录IP与打卡GPS坐标是否匹配
三、飞书定位异常排查
iOS 26操作流程
Step 1:确认打卡规则
飞书 → 工作台 → 考勤打卡 → 查看规则。注意看"打卡方式":
- 只显示地点 → 纯GPS
- 显示地点+WiFi → GPS+WiFi
- 有人脸图标 → 包含人脸识别,需要单独评估
Step 2:获取公司GPS坐标
用百度地图打开公司地址,长按公司位置,获取经纬度坐标。
Step 3:注入GPX文件
Mac打开Xcode → 连接iPhone → Window → Devices → 选设备 → Debug → Simulate Location → 选择GPX文件。
Step 4:验证打卡位置
打开飞书 → 工作台 → 考勤打卡 → 打卡界面,确认当前位置显示为公司地址,然后点击打卡。
安卓操作流程
- 开启开发者选项 → 允许模拟位置
- 安装虚拟定位App并设置为模拟位置应用
- 在虚拟定位App中搜索并设置公司地址
- 打开飞书 → 考勤打卡 → 验证位置 → 打卡
四、钉钉定位异常排查
不同企业使用的钉钉规则差异很大。定位异常时不要先假设平台“更严格”,应先确认公司是否同时启用了 WiFi、蓝牙、拍照或人脸等条件。
iOS 26操作流程
- 打开钉钉 → 工作台 → 考勤打卡 → 查看规则,确认打卡方式
- 获取公司GPS坐标(百度地图)
- 通过Xcode注入GPX文件
- 打开钉钉打卡前,先打开一个地图App确认位置已变更
- 确认后在钉钉内打卡
钉钉额外注意事项
推荐方案
- 纯GPS打卡(钉钉):Xcode注入 GPX → 即可
- GPS + WiFi(钉钉):GPX注入 + WiFi模拟器设备
- 蓝牙打卡(钉钉):联系我们评估定制方案
五、GitHub 开源方案对比:哪类能用、哪类不建议碰
搜「飞书打卡虚拟定位」「钉钉打卡虚拟定位 github」的人,通常是想找一个免费、自己动手就能跑通的方案。GitHub 上确实有这类项目,但它们的实际可用性差别很大——先按下面的分类判断,能省掉大量试错时间。如果你要找的是钉钉的完整设置路径、检测维度和「会不会被发现」的说明,我们单独写了一篇:钉钉虚拟定位打卡怎么弄。
| 项目类型 | 典型做法 | 能覆盖的场景 | 主要问题 |
|---|---|---|---|
| 模拟位置(Mock Location)类 | 安卓端第三方模拟位置应用,需在开发者选项里指定为「模拟位置信息应用」 | 只读取系统 GPS 的应用 | 钉钉/飞书常优先取系统真实定位,或直接识别开发者选项与模拟位置标记 |
| Xposed / LSPosed 模块类 | Hook 定位接口,把返回值替换成目标坐标 | 安卓单一应用生效,精度可控 | 需要 root;App 版本一更新模块就失效,维护者常停更;企业风控可检测 Hook 环境 |
| iOS GPX 注入类 | 用 Xcode 或开源工具注入 GPX 轨迹文件,改系统级定位 | iOS 全局定位,App 读到的是目标坐标 | 需要连电脑与开发者环境;重启后失效;新系统版本经常把小版本修好 |
| 接口篡改 / 服务端类 | 抓包后伪造上报接口的坐标参数 | 理论上可绕过客户端检测 | 证书校验、请求签名、行为风控基本都会拦下来,且明确违反公司考勤制度 |
如果你的打卡条件确实只有 GPS、又想用开源项目试手,正确顺序是:先在备用机(非主力机)上验证打卡页面是否真的读到了改动后的定位,确认它属于「系统级定位」还是「App 内独立校验」,再决定要不要投入时间。跳过这一步直接装模块,基本是在白折腾。
六、常见问题
Q:飞书和钉钉能同时改定位吗?
不一定。两套平台可能采用不同考勤规则,应分别查看打卡页面,并由管理员确认 GPS、WiFi、蓝牙等条件。
Q:有没有开源的 GitHub 打卡虚拟定位项目可以用?
有,但可用性差别很大:模拟位置类和 Xposed 模块类只覆盖安卓且容易被识别,iOS GPX 注入类需要连电脑、重启后失效,接口篡改类基本会被签名与风控拦下。四类方案的具体对比与局限见上文第五节。建议先用开源项目理解原理,实际使用优先选择持续维护的方案。
Q:公司用的是蓝牙打卡,GPS改定位有用吗?
蓝牙打卡通常依赖现场 Beacon 等设备,单独调整 GPS 不能满足蓝牙条件。先检查蓝牙权限、距离和管理员配置。
Q:飞书的定位比钉钉更难改吗?
不能只按平台判断。真正影响处理方式的是企业启用的考勤规则,以及手机权限、系统版本和现场环境。
Q:iOS 26.4对飞书/钉钉有影响吗?
兼容情况会随 App 与系统小版本变化。更新后先重新检查定位、精确位置、蓝牙和后台运行权限,再测试打卡页面。
Q:改定位打卡后公司会收到提醒吗?
无法承诺。企业的考勤配置和异常提醒方式不同,应遵守公司制度;遇到正常定位故障时,保留截图并联系管理员核对。
微信优先咨询
先把打卡环境发来,判断会更快
添加微信后,把下面 5 项一次发全,我们先判断是 GPS、WiFi、蓝牙还是设备环境问题。
- 手机型号
- 系统版本
- 飞书或钉钉
- GPS / WiFi / 蓝牙打卡
- 报错页面截图