Big Sur 触发闪退的条件反馈:调用系统Accessibility权限|防闪退方法

无意间发现一个触发闪退的条件,我不是程序员,只能直观描述下(MN 3.6.130002):
MN 不能和 AppStore 里的 Magnet 共存。我是怎么发现的呢,因为 Magnet 我是默认开机启动的。安装 MN 后,想用 Magnet 的全局快捷键调节 MN 的窗口,之后就发生闪退现象。我试着把 Magnet 退出,再启动 MN,MN不会闪退。此时,我启动 Magnet ,MN 立刻闪退。

使用窗口调节软件在 Mac 用户里应该挺普遍的,我暂时未用其他窗口软件测试。发这个帖子的目的是给开发人员,和其他使用 Magnet 的用户提供一些参考。

一些题外话:
其实我是论坛第一个就 macOS Big Sur 闪退发帖的,因为我发帖前有搜索的习惯(包括国际论坛我也检索过)。

我的想法其实很简单,只是想知道原因,以及能否简单修复(因为 MN 貌似在正式版系统下也会闪退,这种闪退有时也没有重现,我就不了了之了)。我倒没有要求开发人员必须在测试版阶段就进行修复的意思。

MarginNote 开发人员的理由很中肯,这是开发版,普通用户的确要自担风险。但是我觉得 Mac 和 MarginNote 的用户是有一个共性的,就是喜欢体验新鲜事物。如果不是有好奇心驱使,怎么会从 Windows 迁移到 Mac(80,90 一代人大部分应该都是从 Windows 接触电脑的),从普通的 PDF 软件,迁移到 MN。所以,我觉得对升级了 Big Sur 的用户进行言语攻击,破坏了这个论坛的氛围,当然过分要求开发人员做出适配也是缺乏理性的表现,不过这何尝不是对 MN 这个软件热爱的体现呢。 总之,还是希望 MN 良好发展下去。

3赞

我们本身修复了一次适配,但是发现有些电脑能运行,有些不行。甚至被指MN骗人,没适配 :sweat_smile:

感谢提醒这个线索! 看来跟IOS13的一个bug有点像,应用之间会互相影响,我们会仔细测试下的!

But PS一下:不是对升级了的用户攻击,而是有一位言辞过激的用户攻击我们,当时WWDC刚开完第二天,他就满嘴TMD,TMD,TMD,此人已封号删帖,所以您看到的评论都是针对这个人的,不针对大家,包括我们团队内部个人机器都尝鲜升级了,不存在歧视问题

测试了一下,同类的窗口调节软件,BTT也是有这个问题,重现了,感谢!

这个问题来自系统内核打架,我们打算观察下beta后续,暂行方法就是关闭此类软件

毕竟都是热爱学习,才会在这个论坛相聚,但是不乏有太过激进的人,不懂得换位思考的人。 对你们有帮助就好!

1赞

按@Neon思路,我也把一些开机自启动的软件全部关闭,之后重启,MN终于可以正常打开,在此感谢@Neon和@Lanco。
但是我很好奇到底是哪个软件和MN冲突,于是做了进一步工作:一个个打开之前开机自启的软件,令人惊讶的是,每个软件打开后,MN依然可以自如打开。
之后又继续测试,发现在MN打开后,长按command,MN会突然crash。因为长按command默认调出cheatsheet,所以不知道是不是cheatsheet和MN冲突,希望@Lanco能做进一步测试,谢谢~

1赞

目前是测试版系统的内核导致了软件打架。我们观察了报错情况,所以只要避免使用全局性的软件就好啦,需要他们适配,或者苹果修复内核问题,目前观察到这些都属于全局辅助软件,我们观察日志也是辅助功能报错

在帖子中看到了Magnet导致MN3闪退后,关闭了Magnet但还是会闪退,然后依次尝试发现PopClip也会导致MN3闪退。退出即可

1赞

看 Crash 的堆栈情况都有loadAccessibilityBundles,可能不一定全都是窗口管理工具,可能需要利用到苹果的 Accessibility API 的应用都有嫌疑。我没有特别的窗口管理工具,但类似 PopClip,Keyboard Maestro 等应用也会是嫌疑人。

最好的方式是检查下 Accessibility 的 App 有哪些,个人安装的很多 App 都是用了 Accessibility 的功能,但是逐个排除删了一些 App 依然没有解决,最后直接把所有的 Accessibility 关掉再也不闪退了。这个应该是目前应对当前 MN 闪退的办法,像“欧路词典”目前在同样的情况下也会闪退,毕竟系统不稳定,等正式版或者稳定 PB 再说吧

1赞

开启了朗读功能也会引起闪退。实测关闭后,至少要 Log Out ,才能不闪退。

1赞