肇鑫的日常博客

肇鑫 / Owen Zhao

独立开发者,主要开发 iOS、watchOS、macOS 应用。

目前在维护 SleepTapRooster Time,以及 Markdown Writer 相关工具。

最新文章

brew应用无法卸载问题的解决

技术

问题

zhaoxin@Mac-mini ~ % brew remove inkscape --cask
==> Uninstalling Cask inkscape
==> Purging files for version 1.4.028868 of Cask inkscape
zhaoxin@Mac-mini ~ % brew info inkscape
==> inkscape: 1.4.230579
https://inkscape.org/
Installed
/opt/homebrew/Caskroom/inkscape/1.4.028868.upgrading (64B)
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/i/inkscape.rb
==> Name
Inkscape
==> Description
Vector graphics editor
==> Artifacts
Inkscape.app (App)
/opt/homebrew/Caskroom/inkscape/1.4.230579/inkscape.wrapper.sh -> inkscape (Binary)
==> Analytics
install: 3,464 (30 days), 9,907 (90 days), 32,521 (365 days)

解决办法

Here’s how you can fully remove Inkscape:

  1. Uninstall the Remaining Version

Run the following command to uninstall the remaining version of Inkscape:

brew remove --cask inkscape
  1. Verify Uninstallation

After running the uninstall command, verify that Inkscape is no longer installed:

brew info inkscape

If Inkscape is still listed as installed, you may need to manually remove any leftover files.

  1. Manually Remove Leftover Files

If Homebrew didn’t fully remove the application, you can manually delete the remaining files:

• Application File:

rm -rf /Applications/Inkscape.app

• Caskroom Directory:

rm -rf /opt/homebrew/Caskroom/inkscape
  1. Clean Up Homebrew

Finally, clean up any unused files and caches in Homebrew:

brew cleanup
  1. Verify Again

Run brew info inkscape once more to confirm that Inkscape has been completely removed.

联通越来越奇葩了

随笔

之前我的是99元的融合套餐,包含20G流量、400分钟通话、300M宽带、IPTV和高清视频。充120元,期限24个月,每个月返20元。结果24个月到期之后,联通悄无声息地把IPTV和高清视频拿出来收费了,一个月多收我20元。我原以为这些还是算在套餐里的,结果白白被多收了3个月。

也许看到这里,大家会问,这有什么奇葩的呢?这不是运营商常用的手段吗?的确,这个手段本身并不奇葩。但我发现事情的经过很奇葩。前两天,联通的客服给我打电话,说可以将我的宽带升级到700M,还可以增加流量和通话时长等。她说每个月只需多10元。我心想不对啊,我的套餐是99元,你说这个一个月多少钱?她说138。我问,套餐才99,怎么换成138月费还多10元?她说,看了我最近三个月的花费,平均在120元以上。我以为她算错了,于是跟她说不换。

结果,今天又来了一个联通客服,话术还是类似,不过宽带提升到了1000M,还说可以多赠送6个月的100G流量等。我很诧异,还是坚持自己是99元套餐。结果她说,我给你看看吧。您的基本套餐99元,IPTV10元,高清视频10元。我说这两个不都是套餐内的吗?她说不是,都是单独收费的。我强调这些我从来就不用。请给我取消吧。她说要取消只能去营业厅。

于是我拨打了10010,询问这两个是不是单独收费。她回答是的。我问如何取消,她告诉我取消IPTV的话,还得带回当初的设备还给联通才可以。

今天下午我去了联通的营业厅,因为事先在其他地方办事,所以没带上机顶盒,结果就无法取消机顶盒业务。

大家知道,联通办理业务的速度和银行差不多,挺慢的。我边办业务边和联通客服聊天。我说,你们也真行,我明明记得这些费用是在套餐里的,结果现在单独收费。客服回复,那是因为您之前的签约到期了。到期后您就应该换套餐。我说,我当初问过联通客服,问如果到期不重新签约会怎么样。她说跟原来一样,副套餐费用就可以了。结果现在原本在套餐内的,单独拿出来收费了,这不就是欺骗吗?

我对机顶盒的收费也有话说,我问你们收这个机顶盒有什么用?客服说,当然有用啊,要190元。我狂喜:这个是要押金吗?客服说:没有,但是如果你不能拿出来,就得支付190元。我说,我的机顶盒都用了3、5年,残值连10块钱都没有,居然要收费190元。

最后,关于我换了什么套餐,内容和我之前的99元套餐是一样的,啥都没变。之前我的99其实是129元,每次有个减免30元。这次应该是不用减免了。然后还得充值398元,返24个月,每个月返15元,最终返360元,联通贪了38元。而我之前的那个99套餐,是充120元,返24个月,每个月返20元,联通补贴了120元。

总结一下联通的奇葩事:

  1. 原本套餐包含的IPTV和高清视频,在到期后单独收费,每项10元,共计20元。
  2. 偷偷多收钱后,系统检测到我的费用上升,还来推销更贵的套餐,暴露了联通偷偷涨价的问题。
  3. 办理多收费套餐只需在电话中确认,想取消多收费的套餐却需要带身份证去营业厅办理。
  4. 对于没有残值的设备,联通也坚持要回收,以增加用户取消办理的难度。而一旦用户拿不出旧设备,联通还要收取190元的高昂费用。

所谓人情世故

随笔

最近遇见的一件事,让我对于人情世故有了更深的理解。

某医院血液透析,每天上午的开始时间是7点15分,每天6点会有保洁人员将大门打开,以方便患者提前进入等待。但是有个别人来的特别早,大概5点半就来了。而那时门还没开,于是他把门锁弄坏了,然后自己进来了。这一切都被监控拍下来了。

上面这一切都是我后来才知道的。一开始,我只是看到护士长和一位经常来的特别早的患者沟通,护士长说,您以后就晚些来,只要6点之后到我们就开门了,您来早了,我们这边不能开门那么早,没必要。而那个患者则不同意,只是说,自己在家睡不着觉,闲着也是闲着,非要早来。

后来我问护士后续怎么样了。护士说,他把门锁弄坏了,都被监控拍下来了。护士长没好意思说。只是劝他晚些来。我说,那就让他赔啊。护士说,我说也是呢。让他赔,他以后就不敢了。但是主任不同意。主任说冬天这么冷,以后门就别锁了,让患者进来,也不用他赔。

看到了吧。这就是境界,也是人情世故。我和护士都认为应该按照规则来,让患者赔钱。但是主任却认为可以算了,一位冬天天冷,应该让患者进来,不用他赔。这件事虽然医院亏了钱,但是就算是传道院长耳里,院长也只能说主任医德高尚,不能说他做的不对。至于患者方面,如果听到主任这么说,自己还有点儿良心,就应该主动赔钱。就算不赔钱,也算是一段佳话了。

反观我和护士的观点,让患者赔钱,如果患者老老实实赔钱,那还算好的结局。如果患者不愿意赔钱,因为这点儿小事还闹起来,那可能就更得不偿失了。往小了说,患者可能转移到别的医院去治疗,每个透析病人都是医院长期的财源啊。

一次有趣的Mac夜晚间隔性唤醒故障的解决经历

技术

最近我的Mac mini在夜晚睡眠之后,经常被多次唤醒,间隔大概在1小时左右。因为每次唤醒,都会导致显示器亮屏,造成原本黑暗的屋内变亮,影响睡眠。

我用命令查看是什么原因导致了系统的唤醒。发现说是蓝牙或是USB设备导致的。我初步怀疑是最近我开始重新使用的蓝牙键盘IKBC DC-87的原因。我选择关闭键盘的开关。之后故障消失。

原本以为这样就可以了。但是我今天使用键盘打字的时候,突然键盘就没响应了。更换电池之后,一切正常。原来仅仅是电池没电了。

这样想来,原本的故障,其实就是电池电量低了。从而导致键盘一会儿有电,一会儿没电。而电池重新有电的时候,会尝试和配对设备连接。从而导致Mac被唤醒。

结论:以后遇到这种故障,提前换电池就可以了。

M4 Mac mini连接Apple TV HD声音断断续续问题的一种解决方案

技术

将Mac mini从M1换成M4之后,Apple TV HD的画面没啥问题,但是声音断断续续,根本没法看。之前M1的时候没问题,但M4的时候就这样了。我认为它应该和M4的网络从Wi-Fi 6升级到Wi-Fi 6E有关。

如图是我调整之后的设置。

wifi

这个和M1的相比主要有两点变化:

  1. 频道,M1只支持80MHz
  2. 安全性,之前为了兼容性,我统一使用了WPA2个人级的加密。

解决方案

因为Apple TV HD不支持WPA3的加密,当我开启5G的WPA3之后,就需要在Apple TV中手动选择2.4G的Wi-Fi。采用了这个设置之后,目前Apple TV HD只在刚开始的时候会断断续续几秒,之后就一切正常了。

我的路由是小米的BE6500 Pro。不清楚这个问题和路由是否也有关。

扩展丐版Mac的磁盘空间

技术

今年Mac mini M4丐版火了。主要是两点:

  1. 苹果将祖传的8GB内存升级到了16GB。
  2. 国家补贴20%,将价格降到35xx。

东西买来了。但是只有256G容量的SSD,却有些捉襟见肘。尤其是做开发的。Xcode自身日常就能占据80-100G。如果是512G的容量就好了。但是从256G升级到512G,苹果要价1500,算上国补,也需要加价1300。实在不够划算。

这篇文章探讨几种不同的方式来扩展Mac的内存。因为这件事实际操作起来,才能发现比原本预期的要更复杂。

硬核办法,更换内置SSD

既然SSD空间小,那么大家首先想到的就是更换一个更大的SSD。想法很好,但是苹果的SSD是焊接在主板上的。普通用户没有这个手艺。因此,要么你找有这个手艺的第三方去更换。要么你直接买别人已经更换好的。

注意:更换SSD的行为会使你的Mac mini失去质保。有些卖已经更换好的Mac mini的商家,提供一年的店铺保修。也就是说,如果坏了,你可以邮寄给商家进行保修。

这种方式的好处是,SSD仍旧是内置的,不会有额外的空间和接口占用。缺点是价格相对较贵,同时会失去苹果质保。另外还有就是第三方的技术水平参差不齐,更换可能存在隐患。

外置硬盘法

顾名思义,外置硬盘法就是使用移动硬盘的方式。而按照硬盘盒的区分,又分为10Gbps的USB 3.1/3.2硬盘盒,以及40Gbps的雷电3/4硬盘盒。二者各有各子的优缺点。

  • 10Gbps的USB 3.1/3.2硬盘盒
    • 优点:价格便宜,温度低
    • 缺点:速度相对较慢,读取写入在900MB/s以下。
  • 40Gbps的雷电3/4硬盘盒
    • 优点:速度快,读取写入可以达到2000到3000MB/s。
    • 缺点:价格要贵一些。温度较高。

虽然雷电的盒子温度要高,因此有的盒子有主动散热的风扇。但是购买时不要买有风扇的版本,因为那个实在太吵了。Mac mini睡眠时风扇也不会停。要买就买无风扇,但是硬盘盒特别重的,因为盒子重的,散热才好。比如我购买的ITGZ的那款。放在手里沉甸甸的,就是一块儿铝锭。

上面提到的是按照硬件进行划分。下面再按照使用方式进行划分。

系统外置法

系统外置法,就是将系统安装到移动硬盘上。安装的方法有两种:

  1. 通过macOS的安装文件进行安装,安装时选择外置硬盘作为安装的位置。
  2. 通过类似CCC这类的备份软件进行备份,备份时选择备份为可以启动的磁盘。
  3. 通过启动磁盘进行选择,选择从移动磁盘启动。

优点:
安装方法简单。
缺点:
完全使用外置磁盘,内置磁盘浪费掉了。
据说苹果智能要求必须使用内置磁盘。外置磁盘无法开启苹果智能。

软连接法

软连接法,就是通过命令行的ln命令创建软连接。将文件夹连接到移动硬盘上的对应文件夹。

优点:
简单,灵活。不需要新建系统,可以针对任何大的文件夹。
缺点:
有些应用会有兼容问题。比如Xcode的模拟器在使用软连接之后,就消失了,也无法新建新的模拟器。只能从软连接恢复到原来的文件夹方式。因此,这个需要不断的试错。

移动默认用户法(推荐)

苹果其实支持了用户文件的重定向功能。即在设置->用户和组->用户上点鼠标右键,然后选高级,就可以设置新的用户文件夹。

这个文件夹是磁盘占用的大头,这个转移走了,剩下的空间就超级大了。

优点:
这个方式是官方支持的。也无需安装新系统。
缺点:
操作复杂。用户文件下是包含资源库文件夹的。而这个文件夹具有系统属性,因此复制时可能存在问题。因此,你在复制粘贴到新位置时,一般不会成功,而只会提示复制失败。

解决办法:
不要直接从系统当前用户的文件夹复制。而是要利用备份软件,比如从时光机中提取这个文件夹,然后保存到新位置。又或者从CCC的备份中直接复制粘贴。

缺点:
这个方式还有一个缺点。就是对于一基于磁盘的备份工具,因为系统和用户文件夹已经不再一个磁盘,那么CCC备份的内容就不在完美。
不过系统自带的时光机还是会正常备份系统和用户文件夹到一个备份的。

华为手环9使用体验(第三晚、第四晚)

随笔

昨天没时间写这个。今天把第三晚、第四晚合并在一起写吧。

第二晚的问题

华为手环9使用体验(第二晚)中我提到了华为睡眠应用的几个问题。很难想象华为做的这么一个不算复杂的应用居然会有这么严重的问题。但是,昨天我在查看数据的时候发现,这些问题的根源其实更加复杂。

Screenshot_2025-01-03-09-45-19-521_com.huawei.health

如图,其实睡眠的数据有两项,一个是41分钟,由手环提供。另一个是2小时6分钟,是由手机提供的。但是我们从第二晚的应用的截图可以看到,它只显示了41分钟的,却没有显示2小时6分的。然后底下的打鼾录音却用的是手机录音。因此才会产生冲突。

那么问题来了,华为自己知不知道这个问题呢?华为是知道的。因为它在睡眠的41分钟后面,加了一个提示按钮i,点开你能发现,它提示你可以查看全部数据来查看完整数据。但这个按钮太过隐蔽。并且这个睡眠的整体设计也太过自相矛盾了。

Screenshot_2025-01-03-09-52-36-393_com.huawei.health

第三晚

第三晚开始,我摘下了苹果表,单独佩戴华为手环,看看它的记录是否有改善。今晚我睡得很晚,起来很早(2点多就起来了),因此没有记录上。苹果表没有佩戴,所以今天算二者打平。

第四晚

今天手环记录了两段睡眠。手环胜出。

Screenshot_2025-01-03-09-58-03-648_com.huawei.health

华为手环9使用体验(第二晚)

随笔

今晚在睡觉时,我尝试使用了手机版华为运动健康应用的记录睡眠功能,它使用麦克风记录睡眠,还能将鼾声自动分段并录音。不过使用它可能对于手环的睡眠记录产生了影响。今晚只有手机记录了。华为手环9和苹果表S9都没有任何睡眠记录。

因此,今天算是打平了。

手机记录睡眠的问题

Screenshot_2025-01-01-01-23-49-202_com.huawei.health

逻辑错误

这里有个逻辑错误。根据图片,睡眠时间时11:43-12:24,时长41分钟。但是根据下面的鼾声,第一次精选的鼾声时间是11:26分。因为是精选,所以睡眠的时间应该是不晚于11:26分,那么上面的11:43分的睡眠开始时间就是不准确的。

同理,那个12:24分的睡眠截止时间和01:04的打鼾时间也是冲突。我虽然不知道我具体何时睡着的,但是什么时候清醒还是知道的。我大概是01:10时醒的。所以这次睡眠时间应该是11:26-01:10,时长104分钟。

格式错误

这里,我们还注意到时间的格式的随意性。如果它遵从用户系统的设定,那应该是12小时上下午的时间。如果它决定用自己的时间,24小时制,也可以。但是它使用了混合的格式,而且出现自己和自己不统一。

比如零星小睡:下午11:43-上午12:24,这里如果想用12时制,应该是下午11:43-上午00:24。
下面的打鼾时间也应该使用12时制。

又或者全部使用24时制。