升级bigsur报错_记一次升级macOS Big Sur之后遇到的坑

前不久随着苹果发布搭载Apple Silicon M1芯片的Mac硬件,macOS Big Sur也迎来了正式版。我在还没有收到系统更新提醒的时候就主动去App Store进行了升级。升级之后就有那么一点后悔了,这个系统好丑,除了丑,好像也没有更新什么新功能,就想着将就用吧,其实主要还是降级系统太麻烦了。

然后就遇到一些Bug,比如说时间机器不能够选择备份硬盘,这个确认过了,好像是我的机器才有这个Bug,同事的16寸就可以用,我是18款15寸。然后当天下午死机到五国界面一次。如果说这些还能忍,那接下来的事情就有些让人感到不适了。

我首先发现的一个问题是,我的EasyShare打不开了,如果不知道EasyShare是什么,可以先看一下这篇文章。

https://zhuanlan.zhihu.com/p/141613702​zhuanlan.zhihu.com

然后我便开始了调试的工作。我在调试的过程中,我需要查看sqlite文件,我又发现一个问题,Navicat打不开了!我第一反应是询问高贵的16寸用户能否打开,在得到肯定的回答后,我陷入了沉思,难道真的是我15寸不够排面吗?明显不是。在macOS上打不开APP,肯定就是报错了,但是具体是什么错误又看不到,这种时候就有一个小技巧。找到你打不开的APP,右键选择显示包内容,然后进入contents/macos/这个目录,就会看到一个文件名称和你的APP相同的,比如说我这里是Navicat,然后双击这个文件,它就会在终端打开,并且会输出一些日志。这时我看到的错误大概是file not found frameworks/libpq.5.dylib,然后我就进这个目录搜了一下,确实找不到这个文件,我就让高贵的16寸用户帮我看他的Navicat中是否有这个文件,他找到了,我让他发给我,我放进这个目录后,我的Navicat成功打开了。我估计是系统升级的时候掉了文件。当然,不是所有的问题都是这样解决,我只是给大家分享一下这个解决思路。

好的,接下来进入正题。EasyShare打不开,是什么原因呢?是在代码中有一个地方获取分享内容时,会得到一个NSSecureCoding对象,然后我原本的处理逻辑是直接把它转成NSURL处理的,就直接用的as! NSURL,结果现在这一句代码报错了。其实我觉得很费解,只是一个强制类型转换的代码,执行结果不应该和系统版本有关联才对,但是问题出现了,也只有硬着头皮去解决吧,很烦的就是,我作为一个安卓开发者,对这些swift的东西不太熟悉,兜兜转转一圈,就先把这个对象硬转成了NSData,再从NSData来构造了一个NSURL,至此,Bug就算是修复完成了。

最后给一个下载链接,升级了Big Sur的朋友们可以试一试。

https://pan.baidu.com/s/1EDMLn2QoDn97TnFRiGl0ew 提取码:q8e2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值