分类 macOS 下的文章

最近升级了 macOS Monterey 同时更新了 Xcode 到最新版,编译 QT 项目的时候发现报错了:

No rule to make target 'xxx', needed by 'xxx'. Stop.

解决方法就是删除项目编译输出文件夹内的隐藏文件 .qmake.stash,删除文件后运行 build - cleanbuild - run qmake 重新生成此文件,最后再次重新编译即可。


最新的 macOS 13 已经不支持 2015 款 MacBook Pro 了,通过此 patcher 可以顺利升级。步骤如下

  • 插入一个大一些的优盘作为系统升级盘,disk 工具格式化为 apfs日志式 + 分区表 guid
  • opencore 中选择 create macos installer - download macos installer 在线一键下载最新版本系统镜像
  • 下载好后按照提示写入到 u 盘中
  • 选择 build and install opencore 写入到 u 盘分区中
  • 重启选择 u 盘的 opencore 引导
  • 进入 recover 后选择 install macos,会保留系统数据更新到新版系统
  • 升级完成后进入系统,等一会儿回提示检测到 opencore 引导在 u 盘上,是否写入到硬盘,选择是,根据提示选择系统硬盘分区安装 opencore 即可,拔下 u 盘
  • settings 里可以取消选择 show boot picker

今年发布的 macOS Monterey 增加了很多新功能,其中一个就是可以通过 AirPlay 将手机屏幕投放到 Mac 上。这个功能挺有意思的,但是当我把我的 MacBook Pro 升级系统后,发现无法使用这个功能,经过查询后发现这些新功能只对较新款的设备开放,这就有点让人吐槽了。
但是不放弃的我开始查询是否有大神给不支持的设备添加上这些功能,果然被我找到了,而且是一个挺有名的项目:OpenCore Legacy Patcher

阅读全文


最近搬进新家,配置好了局域网环境并使用海康 h99 作为存储中心共享资源给各个设备使用。它支持 smb 和 afp 协议共享文件,通常情况下 smb 就足够了。

之前我的 MacBook 是通过 usb 直接连接外部硬盘来进行 Time Machine 的,需要将硬盘格式化为 macOS 扩展格式。既然有了网络存储中心,那么为什么不将 Time Machine 也放在网络驱动器上呢?

研究了下果然有解决方案的,基本原理就是通过在网络驱动器上创建一个 macOS 格式的虚拟磁盘,然后再 MacBook 上挂载这个虚拟磁盘就可以正常进行备份及还原了。

阅读全文


今天打开一个 QT 项目后进行编译发现报错了,查看了下什么都没有修改就比较奇怪了。根据日志是 boost 库出了问题,报错为:Undefined symbols for architecture x86_64,但是 boost 库是以前编译好的从来没动过。回想起来前几天重新安装了下 command line tool 会不会有关系。

阅读全文


随着升级到 macOS Big Sur 后,虚拟机 parallels desktop 也更新到了 16 版本。我当然是继续安装破解版啦。

但是安装好后,启动虚拟机会有一个报错:Network Initialization Failed,启动后会发现虚拟机无法联网,网络设置中无法正常在各种模式中切换。

在寻找解决方案期间,了解到了这可能是由于破解的原因,正版用户没有这个问题。网上有人提供了一个方法,执行一条命令就启动虚拟机就可以正常联网了。但是会导致虚拟机无法访问主机的共享目录及无法访问 USB 设备。而且一旦重启 parallels desktop 后又回恢复之前的状态,我也就没有去做。

这两天看到网上终于有人找到的解决方法,测试后的确可用,所以介绍给大家参考。

阅读全文