之前在这个帖子里说过"暂时没有 iOS 端的开发计划"。后来改口说"快了"。现在——iOS 测试版可以装了。
这一版不是"演示壳",是把 Android 端的功能一条条搬过来的:定位分区、卫星管理、雷达、过境提醒、CW、FT8、SSTV、HF Fax、APRS、QSO 日志、天气、主题,连 AI 助手都在。算法全部跑在 Android / iOS 共用的一份 Kotlin 内核上,两端算出来的过境时间不会各说各话。
版本信息
| 项 | 值 |
| 分支 / 提交 | ios @ 5b22dc76(2026-11-03) |
| 分支策略 | :shared 内核只在 ios 分支;Android 主分支暂不采用,验证稳定后合并 |
| 系统要求 | iOS 16 及以上,arm64 真机;Apple Silicon 模拟器 |
| 安装包 | 未签名 IPA(HamKit-unsigned.ipa,附 SHA-256) |
| 下载 | https://hamkit.click/ |
顺便说明一下分支的事:这套共享内核(:shared)目前只有 ios 分支在用,主分支还是原来的实现。不是分叉失控,而是内核还在验证期——Android 是主力端,先保证它的稳定,等 iOS 这边把它跑稳了,再择机把两条分支合并。
这一版有什么
定位与卫星
- 一键定位 → CQ Zone / ITU Zone / 6 位梅登海德网格,失败自动重试
- TLE 三源合并(amateur + satnogs + active,1.6 万+ 颗),自建 CDN 优先、CelesTrak 兜底,本地落盘缓存,断网也能看
- 附近过境、卫星管理(搜索/统计/筛选/分类)、单星详情(实时面板、倒计时、多普勒、转发器、日照)
- Look4Sat 风格极坐标雷达 + 地面轨迹地图(MapKit,可自由拖动缩放)
- SatNOGS 转发器频率、AMSAT 状态、收藏
- 过境本地提醒(AOS 前可设提前量),后台刷新
收发与日志
- CW 摩尔斯:字符 / 呼号 / 文本练习,节拍时间线 + AVAudioEngine 实时合成
- FT8:编解码 + LDPC/GFSK,自动 CQ、自动应答、自动记 QSO
- SSTV:接收(逐行预览、图库)、发射(相册/图库选图、进度、导出 WAV)、音频文件导入解码
- HF Fax:天气传真接收解码
- APRS:APRS-IS 连接(自动重连、连接日志)、站点/消息、位置上报、符号选择
- QSO 日志:记录、编辑、ADIF / ADX 导出
其它
- 首页时间卡(天气、UTC、每日一言),高德天气直连
- 主题:深浅模式 + 9 档强调色,Miuix 风格卡片
- AI 助手:OpenAI / Anthropic / Gemini 三种协议,密钥存 Keychain,可查卫星、FT8、APRS、QSO
- 首次启动有隐私同意页
怎么装(重点看这段)
项目没有收入、没有广告,买不起 688 元/年的 Apple Developer 账号,所以没有 App Store,也没有 TestFlight。我们只能分发未签名 IPA,需要你自己用 Apple ID 重签。
- 电脑装 Sideloadly 或 AltStore;
- 把 IPA 拖进去,填自己的 Apple ID,重签并安装;
- 免费账号签名 7 天有效,到期重签一次就好,App 里的数据不会丢;
- 有付费开发者证书的,重签一次可以长期用;
- 想省事又有 Mac 的话:手机连 Mac,Xcode 里选自己的 Apple ID,⌘R 直接跑。
报错"无法安装此 App,因为无法验证其完整性"
这句是 iOS 校验签名链失败时的统一提示,和 App 本身无关。按顺序排查:
| 情况 | 处理 |
| 直接把未签名 IPA 拖进 Finder / 用"文件"App 点开 | 未签名包不能直接装,必须用 Sideloadly / AltStore 重签 |
| 用了几天忽然打不开 | 免费证书 7 天到期,重新签一次 |
| 设备上有同 Bundle ID 的旧版本、证书不同 | 先删掉旧 HamKit 再装 |
| 设备时间不对 | 设置 → 通用 → 日期与时间 → 自动设置 |
| iOS 18+ 首次装自签 App | 设置 → 隐私与安全性 → 开发者模式;或在"VPN 与设备管理"里信任证书 |
已知问题(先说清楚)
- 没有"播放捕获":Android 10+ 能直接录其它 App 正在播放的音频,iOS 没有这个能力。SSTV 只能用麦克风或导入音频文件。
- 后台会被系统掐:APRS 长连接、SSTV 长时间接收,切到后台可能被挂起。我们接了 BGTask,但 iOS 的后台策略比 Android 严,做不到"一直挂着"。
- 首次启动慢:要拉 2.6 MB 的全量目录(1.6 万颗),弱网下首页的"附近过境"会等一会儿;之后有缓存就快了。
- 界面还在打磨:iPad 布局、部分文案和空状态还没对齐 Android,遇到别扭的地方直接说。
- TrollStore 不保证可用:只支持特定系统版本,不建议为它折腾。
帮忙测试什么
- 真机上定位、过境时间是否和 Android 对得上(同一地点、同一颗星);
- 过境提醒能不能准时弹(锁屏、后台也测一下);
- APRS 能不能连上、收到站点(这个问题我们在 Android 上踩过坑,iOS 也修了几轮);
- FT8 / SSTV 用麦克风对着电台,能不能解出来;
- 界面在 SE 这种小屏、以及 iPad 上有没有挤爆。
反馈方式
这还是个公益项目:没有广告、没有内购、代码 MIT 开源。测试版肯定有 bug,遇到问题别客气,直接说。
如果将来有人愿意赞助一个开发者账号,我们会优先拿它去开 TestFlight,让安装回到"点一下"。
73!📡