本机没有 Mac 和 iPhone 的构建环境,我把 Apple 构建放到 GitHub 的 macOS runner 上,再把 Linux、Windows 和 Android 接到同一份流程里。
YAML 接好以后,剩下的大半时间都花在检查包内容。
Android 只出 arm64 的签名 Release APK,Flutter 目标架构和第三方原生库过滤一起对齐。桌面端为每个目标重新编 Go 核心,再放入 Electron 包:Windows x64、arm64,Linux 两种架构,macOS Intel 和 Apple Silicon。检查时直接读二进制架构。
Windows x64 另外提供安装器,macOS 分别出两种架构的 DMG,这轮没有做 Universal 包。
iOS 的原生接入
Go 核心通过 XCFramework 放进 iOS,Swift 负责启动、停止和所需的平台能力,权限与资源一起补齐。构建 arm64 真机 app 后,再组装 unsigned IPA,签名留给安装前处理。
其中一个依赖用了较新的 Swift API,runner 默认 Xcode 编不过。我换成托管机上已有的合适版本,保留依赖原样。
Go、桌面和 Flutter 先跑代码检查,再各自构建。汇总作业等九类安装产物到齐,生成更新清单和 SHA256SUMS。最后我重新下载正式附件,核对架构、签名和包结构。
这轮完成的是构建与包检查,Linux、Mac 和 iPhone 的实际安装运行还没条件逐一验证,留待后续补。