如何在装有macOS Monterey的M1 Mac上运行SketchUp Make 2017

460 阅读1分钟

最近,我试图在我运行macOS Monterey 12.4的现代M1 Mac上运行SketchUp Make 2017的旧独立版本。起初情况很糟糕,启动时崩溃,出现 "SketchUp意外退出 "的错误:

SketchUp quit unexpectedly.

但我得到了它的工作!

下面是如何通过删除代码签名使其运行。

主要的线索是当我试着从终端运行它,看看它是否会显示一个更有用的错误。我得到了同样的弹出式错误,但也有这个。

rosetta error: /var/db/blahblah/SketchUp.aot: attachment of code signature supplement failed: 1
zsh: trace trap  /Applications/SketchUp\ 2017/SketchUp.app/Contents/MacOS/SketchUp

"代码签名的附件补充失败",嗯?

那我们就把这个代码签名删除吧......从应用程序中的所有内容中删除。

要做到这一点,启动终端应用程序(从应用程序>实用工具下),复制所有这些文本,将其粘贴到终端窗口,然后按回车键:

codesign --remove-signature --deep /Applications/SketchUp\ 2017/SketchUp.app
codesign --remove-signature --deep /Applications/SketchUp\ 2017/SketchUp.app/Contents/Frameworks/*.framework
codesign --remove-signature --deep /Applications/SketchUp\ 2017/SketchUp.app/Contents/Frameworks/*.dylib
codesign --remove-signature --deep /Applications/SketchUp\ 2017/SketchUp.app/Contents/PlugIns/*.plugin

(如果SketchUp在你的机器上安装在不同的文件夹中,你必须改变这些路径来匹配。)

做完这一切后,我就能在Rosetta下启动SketchUp了!

我的猜测是,代码签名证书的格式在较新的macOS版本中发生了变化。我不确定--但我很高兴SketchUp又能工作了!

一个(也许?)重要的细节是,我的机器上禁用了系统完整性保护(SIP)。我不确定这是否重要。(我没有在启用SIP时测试SketchUp)。如果删除代码签名还不足以让它工作,你可以谷歌一下如何禁用SIP。