最近落格输入法遇到了几个比较难以复现的问题——关键是它不会导致崩溃。这就让崩溃统计功能根本无效,具体表现为在某些情况下输入法会突然卡住几秒,叫人十分恼火。后来我想到,macOS自带活动管理器中,有个“采样”功能,可以看到对应进程当前的执行(调用)状态,那我是不是可以用它来分析错误原因呢?
在和用户沟通后,我得到了一个类似这样的采样报告:
[crayon-672408d758d5d46059[……]
Python 是个好东西,好多时候我们喜欢用它来写一些小东西……比如我服务器上的很多服务都是用 Python 写的( 使用 Supervisor 将你的 Python 程序变成服务 ),日积月累之下,竟然用到了很多依赖包。
可是,这些 Python 的依赖包并不会随着你的 apt upgrade 进行更新,许久之后的今天,我发现某个我正在用的包[……]
首先说这不是一个新技术,它很老,老到几乎没人提起它。
这是苹果 MVC 模式下的产物,最早在没有 iPhone 的时候就已经诞生了,它是用来配合 Xcode 图形化设置界面用的——比如 NIB,当然,现在已经变成 XIB了,哦,还有 Storyboard。
现在如果说起要 bind 一个 Storyboard 中的对象到代码中,你可能查到的都是这样的:
在左侧栏点击鼠标右键打开小窗口[……]
在之前的一篇文章中我为大家介绍了一个同时安装多个版本 Xcode 的工具使用 xcode-install 来管理 Xcode 版本但当你的系统中同时存在多个 Xcode 时,就会导致系统困惑,让 Xcode 的插件无法被识别,主要的体现就是系统偏好设置中根本看不到 Xcode 插件的选项——就好像你完全没安装过它们一样。
总之,我在这里找到了答案
首先执行命令:
[crayo[……]
之前我曾写过一篇文章macOS app 实现自动化 notarize 脚本,但并没有提到使用代码自动编译并生成 App 的脚本,毕竟这一步有好多工具可以完成,比如说 fastlane。
我由于在 notarize 之前也没想过做自动化,而在写那篇文章的时候 fastlane 还没有支持 notarized 上传,于是我就自己写了,具体的编译命令是这样的:
[crayon-672408d75[……]
最近忽然发现磁盘存在大量写入,打开任务管理器一看,发现一个叫做“lsd”的进程持续占用 20% – 40% CPU,很奇怪。
经过一番查询,得知这个进程是 macOS 和 iOS 上的系统进程,全名叫做“Launch Service Daemon”,负责所有 App 文件类型关联和启动。但它的数据库有时候会损坏,这就导致它频繁读取和验证某些数据。
一旦它的数据库损坏,你就会遇到 lsd[……]