MAD Designer iconMAD

适用于 macOS 的 MAD Designer 图标适用于 macOS 的 MAD Designer

MAD Designer for macOS 是一款原生 AppKit 桌面应用(macosx SDK,MACOSX_DEPLOYMENT_TARGET = 12.0),用于创建、查询、布局、刷新、打印和导出移动分析文档(.mad)。它链接与 iOS 应用和无头引擎相同的第一方 Objective-C 框架和通用静态 C 库(Compressor)。

在 macOS 上创建或编辑的每个 .mad 文件,都与 iPad/iPhone 应用、Linux 上的 mad CLI 以及 mad-action GitHub Action 字节兼容。

下载与安装


工作区

每个打开的 .mad 文档都运行在一个原生 NSDocument 窗口(MADMacDocument / MADMacWindowController)中,窗口工具栏中央有一个 Workspace 分段控件(Cmd+1、Cmd+2、Cmd+3),用于在三个报表阶段之间切换:

1. MAD Query(Cmd+1)

macOS 上的 MAD Query 工作区,显示数据库表列表、可视化表卡片和 LEFT OUTER 连接线

MAD Query 工作区(MADMacQueryViewController)构建存储在 RptqQuery 中的关系查询图。工作区栏中的切换开关在查询的两种互斥视图之间切换:


2. MAD Designer(Cmd+2)

macOS 上的 MAD Designer 工作区,显示页面与节区缩略图、报表带区、查询字段、带区设计画布和检查器

MAD Designer 工作区(MADMacDesignerViewController)在用户可调整大小的三栏分割视图中布置报表的参数化带区和元素:


3. MAD Viewer(Cmd+3)

MAD Viewer 工作区(MADMacViewerViewController)针对实时数据源刷新查询,把结果集物化到本地 SQLite 表缓存(MADDataTableFast)中,并渲染分页页面:


打开与创建文档


架构:基于多平台框架的原生 AppKit

MAD 没有用 Mac Catalyst 包装 iOS UI,而是将十四个框架中的十二个原生编译为 macosx(SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx",MACOSX_DEPLOYMENT_TARGET = 12.0),并在其上放置专门构建的 AppKit 文档架构(Mac/Source/):

层 组件 在 macOS 上的角色
静态 C 库(Compressor) sqlite3、zlib、openssl、bzip2、libpng、libarchive、freetds、mariadb、postgres、zint .xcframework 包内的通用(arm64 + x86_64)macosx 切片,由 ./Compressor/build.sh --verify --all --platforms ios,simulator,macosx 验证。
核心与驱动框架 MADFoundation、MADDataStructures、MADCocoaExtensions、MADFileManager、MADAPI、MADSqlite3、MADTds、MADTdsClient、MADMySQL、MADPostgres、MADBarcodes、MAD 共享的 Objective-C 模型、可移植 SQLite 存储(Rptq*)、SQL 解析器/编译器、数据库线路驱动、zint 条形码渲染器、MADDesignerLayout 撤销/重做引擎,以及 MADPrintPageRenderer / MADReportExporterPDF。
原生 AppKit 前端(Mac/) MADMacAppDelegate、MADMacAboutWindowController、MADMacDocumentController、MADMacDocument、MADMacWindowController、MADMacConnectionWindowController、MADMacQueryViewController、MADMacDesignerViewController、MADMacDesignerCanvasView、MADMacViewerViewController 原生 NSDocument 生命周期、关于 / 概览 / 致谢窗口、工具栏与菜单栏、可视化查询画布、带缩略图和检查器的三栏报表设计器,以及 PDFView 报表查看器。

多平台移植的完整架构审计和缺陷日志记录在 docs/project/MAD_MACOS.md。


构建、测试与打包

在 Xcode 中

打开 Reports.xcworkspace,选择 MAD Designer Mac 共享方案,目标选择 My Mac,然后按 Run(Cmd+R) 以交互方式构建并调试原生 macOS 应用。

要在 macOS 上原生运行任意框架的单元测试套件:

xcodebuild test -workspace Reports.xcworkspace -scheme MAD \
	-destination 'platform=macOS,arch=arm64' \
	-derivedDataPath ~/Library/Developer/Xcode/DerivedData/Reports-cozeiyczmvgrbeapplwfuygymqci

命令行构建、冒烟测试套件与发布打包

独立脚本 Mac/build.sh 编译全部十二个 macOS 框架,组装并签名 Mac/build/MAD Designer.app,运行端到端无头 + AppKit 冒烟测试套件(Mac/Tests/MADMacSmokeTest.m),并打包可分发的 .zip 和 .dmg 归档:

./Mac/build.sh                     # build 12 macOS frameworks + MAD Designer.app
./Mac/build.sh --no-frameworks     # rebuild only MAD Designer.app (fast iteration)
./Mac/build.sh --smoke-test        # build and run the end-to-end macOS smoke suite
./Mac/build.sh --package           # package MAD-Designer-macOS.zip and MAD-Designer-macOS.dmg

本页为英文原文的简体中文翻译;如有出入,以英文原文为准。