数据起点: MATLAB Runtime 的系统要求与 MATLAB 相同;因此,生成安装包并不能证明它能在目标 Mac 上运行。MathWorks 的 Runtime 安装说明列出了这一前提。
本周建议动作:先确认交付物是给没有 MATLAB 的用户运行的 Mac 独立桌面应用,再用 macOS 上的 MATLAB Compiler 构建,并在干净的目标 Mac 环境验收;接收端通常还需要安装匹配的 MATLAB Runtime。若你的目标是在组织内通过浏览器使用,则应单独评估 Web App 及其服务器条件。
谁该看:研究生或科研人员,准备把 App Designer 项目交给没有 MATLAB 的课题组成员;课题组开发者,需要构建并验证 macOS 版科研桌面应用;高校技术支持人员,负责核对许可证、依赖和交付环境。
SECTION 01 里程碑一:先确定交付物
App Designer 项目可以交付为供 MATLAB 用户安装使用的应用包,也可以通过 MATLAB Compiler 构建成独立桌面应用;组织内浏览器访问则是另一条 Web App 部署路线。若要让没有 MATLAB 的课题组成员在 Mac 上运行程序,应选择独立应用路线,并安排匹配的 MATLAB Runtime 和目标环境验收。
MathWorks 的 App Designer 应用分享说明介绍的是 .mltbx 包,它面向 MATLAB 用户,不等于可脱离 MATLAB 运行的桌面程序。R2026b 的 独立应用部署文档说明,MATLAB Compiler 可将 App Designer 应用打包为独立应用;接收端无需安装 MATLAB,但仍需要 MATLAB Runtime。应用文件本身也不意味着 Runtime 已经包含在内。
按交付目标分流:
- 若接收者有 MATLAB,只需在 MATLAB 内安装和运行应用,则分享 MATLAB App 包。
- 若接收者没有 MATLAB,且需要在 Mac 上运行桌面程序,则用 MATLAB Compiler 构建独立应用,再安排 Runtime。
- 若团队要通过浏览器访问,且已有合适的服务器及管理条件,则评估 Web App;它不是免服务器的桌面应用替代品。
SECTION 02 里程碑二:准备项目与环境
构建前先复制一份可恢复的项目副本,盘点主 .mlapp 文件、调用的 .m 函数、输入数据、图标、配置文件、工具箱功能和支持包依赖。不要在唯一的工作副本上边改依赖边构建,否则失败后很难分辨是代码变更、路径差异还是打包设置造成的问题。
许可证也要在开始前核验:确认团队具备使用 MATLAB Compiler 构建的资格,并向学校或许可证管理员确认远程主机上的 MATLAB 使用是否获准。本文不能替你推断校园许可证是否覆盖远程环境;购置或租用构建环境前,应先取得学校的明确答复。
目标 Mac 的系统版本和处理器架构要对照当前发行版要求。MathWorks 的 R2026b Mac 系统要求列出支持范围;Runtime 采用与 MATLAB 相同的系统要求,因此不能只看开发机能否启动。独立应用还应在目标平台构建,不能把 Windows 或 Linux 上生成的包当作等价的 Mac 产物。
SECTION 03 里程碑三:首次构建与依赖检查
在 macOS 的 MATLAB 中打开 App Designer 项目,从应用分享入口选择独立桌面应用,再按向导指定主应用、应用名称、图标及需要附带的文件。入口名称可能随发行版界面变化,遇到界面差异时以当前版本的官方文档为准。
构建时,把“编译器发现了依赖”视为初步检查,不是完整保证。MATLAB Compiler 依赖分析文档说明,依赖分析可能无法识别通过 eval、feval、回调或 MAT 文件中的对象间接调用的函数;外部库及其依赖也可能需要手动纳入。通过绝对路径读取的文件,也可能无法按预期被自动发现。
构建日志和输出目录应与版本记录一起保存,至少留存:
- 使用的 MATLAB 发行版、更新级别和构建平台;
- 主
.mlapp文件及项目版本标识; - 依赖检查结果、手动加入的数据文件和库;
unresolvedSymbols.txt、mccExcludedFiles.log等可用诊断文件;- 构建失败信息、修复内容与重建后的日志。
逐条处理未解析符号、遗漏数据文件和工具箱依赖,不要把“安装包已生成”当作科研应用已交付。若功能依赖特定工具箱,还应核对该功能是否支持编译部署;MathWorks 在编译部署限制文档中列出了相关限制。
SECTION 04 里程碑四:本机复测与科研结果核对
在构建 Mac 上启动生成物,先验证基础操作,再用脱敏数据或合成样例走完代表性工作流。不要只点开主界面就宣布通过:界面能显示,并不代表输入解析、分析计算和结果导出符合课题要求。
建议按这条顺序复测:
- 启动应用,确认窗口、菜单、主要控件和图形交互可用。
- 导入脱敏或合成样例,检查字段映射、路径选择及异常输入提示。
- 运行关键分析流程,核对中间状态、错误提示和必要日志。
- 导出结果,检查文件名、格式、目录位置及内容完整性。
- 将关键输出与 MATLAB 原项目的基线结果逐项比较,并记录允许差异的定义、复测输入和结论。
科研计算的验收重点不是“程序没有崩溃”,而是结果是否可复现、数据是否完整、异常输入是否会被识别。运行成功但结果未经基线对照,仍不能据此确认科研结论正确。
SECTION 05 里程碑五:目标 Mac 验收与运行条件
目标 Mac 验收要尽量与构建环境隔离:使用没有项目开发目录、临时路径和构建机专属文件的代表性环境,按实际交付流程安装应用及所需 Runtime,再从接收者视角完成一次完整工作流。这样才能暴露开发机上被 MATLAB 安装、路径配置或缓存掩盖的问题。
没有 MATLAB 的用户可以运行 MATLAB Compiler 生成的独立应用,但前提是接收端安装了满足应用要求的 MATLAB Runtime。Runtime 文档说明,接收端无需拥有 MATLAB 许可证;Runtime 的版本与更新级别则必须符合应用的构建要求。不要把“无需 MATLAB”误读为“无需任何运行组件”。
交付前核对应用文件、匹配的 MATLAB Runtime、目标 Mac 的系统兼容性,以及应用运行所需的外部资源。MathWorks 的下载与安装说明指出,Runtime 安装包应匹配所选发行版;更新级别也会影响运行条件。构建端可以单独提供 Runtime 安装指引,或评估相应的安装程序方式,但不能默认 Runtime 已经包含在独立应用里。
验收记录至少写清:测试机器的 macOS 版本与处理器架构、应用和 Runtime 的版本、首次启动结果、代表性输入、关键输出对照、失败条件,以及复测人和复测日期。按这些信息记录,之后更换系统或 Runtime 时才能判断需要重新验收什么。本篇没有提供 VPSNIX 的真实 Mac 节点验收记录,因此不把官方平台支持范围冒充为本站或你的课题项目实测。
SECTION 06 里程碑六:选择最终交付路径
干净环境验收的核心,是在没有项目开发依赖的目标 Mac 上安装应用与匹配 Runtime,再用脱敏或合成样例复现真实工作流;逐项检查文件路径、数据读写、图形交互、错误提示及结果导出,最后对照 MATLAB 原项目基线记录结果。若目标机只能在开发机环境下通过测试,就应先定位被遗漏的依赖或环境假设,而不是把它标为验收通过。
- 若接收者需要本地桌面操作、没有 MATLAB,且你能提供匹配 Runtime 和目标 Mac 测试,则选独立桌面应用。
- 若接收者已有 MATLAB,只需在 MATLAB 内运行应用,则回退到 MATLAB App 分享包,不必强行做独立部署。
- 若多人需要浏览器访问,且课题组能维护 Web App Server、访问控制和服务器环境,则评估 Web App;否则回退到桌面应用或 MATLAB App 分享。
- 若目前没有可用 Mac 完成构建和验收,则先安排远程 macOS 环境验证;若许可证不允许远程使用,先与学校确认授权,不要通过更换机器规避许可限制。
Web App 是独立路线:需要 MATLAB Compiler 和 MATLAB Web App Server,且 MathWorks 将其限定在可信内网环境,不应直接暴露到开放互联网。Web App 部署说明与安全部署建议列出了这些边界。若实验室没有 Mac,你可以先查看远程 macOS 环境说明和使用帮助,判断远程构建与目标环境复测是否适合你的项目;使用前仍需先确认许可证条件。
对临时构建或短期验收而言,现有 Windows/Linux 设备可能缺少目标 macOS 环境,借用实验室设备则受排期限制,而仅靠本机模拟也无法替代目标 Mac 的完整工作流测试。若这些限制正好卡住你的交付节点,可以评估租用 VPSNIX 的远程 Mac 来完成构建与验收;如果需要长期、稳定的重负载使用或依赖物理接口,则应先比较自购设备或实验室专用主机的适配度。决定前先核对 MATLAB 与 Compiler 授权,并查看VPSNIX 套餐信息,再按真实项目复测结果决定是否采用。