为ARM Mac安装PulseView 
太长不看
先用brew安装dbus,再下载安装构建好的版本:链接
PulseView是一款开源的逻辑分析仪软件,由sigrok社区开发。
 纵使其官网上写着支持跨平台 (原文:Cross-platform. Works on Linux, Mac OS X, Windows, FreeBSD, OpenBSD, NetBSD, Android (and on x86, ARM, Sparc, PowerPC, ...).) ,但下载页面却是清一色的x86/x64,令人感叹。观Linux平台,虽很多发行版提供了arm版,但是版本普遍都较为老旧。再看ARM Mac, 官方索性没有提供对应版本,只好互联网查找教程,几乎清一色教人使用rosetta 2来转译运行。能用倒也罢,可惜笔者尝试后报错找不到x86共享库,只好另寻方法。
寻找 
查看官方仓库在GitHub上的镜像站, 转到actions标签页,可见有数个workflow,点进详情查看,实际上是有macos arm构建的。但由于时间久远,构建产生的产物早已过期,于是只好fork到自己名下,进行手动构建操作。
曲折 
构建过程中,由于boost库移除了system组件,导致构建失败。幸好有前人试错,照issue编辑CMakeLists.txt与构建命令后,成功得到产物。
失落 
将文件下载到本地后,双击运行竟出现巨大的报错页面,提示为构建产物未签名,与此issue一致。查阅后得知,使用codesign工具进行强制签名即可。打开命令行尝试,但却报错: resource fork, Finder information, or similar detritus not allowed。询问ChatGPT得知,此实际为文件含有扩展属性(Extended Attributes)导致,便使用xattrs -cr来清除,结果有几个访达的属性死活清理不动。又研究一段时间后得知,访达会一直给位于桌面上的文件设置其特有的扩展属性,只好将app移动至~目录中。移除属性后,又报错bundle format is ambiguous,咨询GPT后得知是因为部分包没有按照所谓macOS bundle结构来排列,只好手动排列了Qt的dbus库到符合标准。再次签名,报错又换成了python.framework有问题。打开目录一看,完全无法下手进行重组。再看前面的那个issue,原贴主评论下竟然有四个👍,可见大家对此都没有什么头绪,顿感难上加难。
转机 
眼见无望,笔者只好按自己感觉操作了。先尝试将python.framework移出app中,签名意外地成功了,但运行会报找不到python库。此时笔者尝试将库移动回原本的位置,再次运行程序,报错变成了找不到位于homebrew安装目录下的dbus库文件。使用brew安装dbus库后,再次启动软件,熟悉的主界面终于出现了。
笔者本以为签名会像是Android app打包一样,加入新文件后会破坏掉签名,没想到将外部文件加进去之后居然不会破坏签名,实属神奇。
集成 
将这几个步骤写进构建脚本中,构建得到的产物就是具有签名的app了。