拟物与抽象——设计也是一个循环

WWDC2020 来了,Big Sur 的视觉方案又一次走在了最前面。 熬夜看完了 WWDC2020。Apple 的自研处理器自然是发布会的高潮,不过除此之外,与新处理器一起到来的还有 macOS 10.X 时代的终结 —— 有生之年这个版本号终于上 11 了。之所以在题目里说「设计是一个循环」,是因为这套来自 Big Sur 的图标设计方案实在是太让人梦回 20 年前了。正好最近有空,遂整理在 UI 设计上,设计师们是怎么走了一个圈又回来了。 开始的开始 高光,阴影,强渐变制造出的立体感 —— Aqua Design。 在计算机刚飞入寻常千万家的二十世纪末,现在看起来非常习以为常的界面元素可能对于普通用户而言并不好理解。因此,这样一个「看起来就可以点击」的界面元素就是在告诉用户:这就是一个按钮;水滴一样的问号球,也是在对用户大声地说:「有什么不懂的,点我」。 同时,更强的图像处理能力也鼓励设计师在 UI 上「炫技」,用复杂的纹理和过渡动画来展现出精致得到效果。乔布斯曾对于这套将深度、高光首次引入 GUI 的设计方案这样评价: Its liquid, one of the design goals was when you saw it you wanted to lick it. 同时期的 Windows XP, Vista 再到 Win7,五一不是在类似地尝试还原这种真实的质感。毛玻璃展现出来的层级划分,水灵灵的图标质感,是这个时代最典型的设计风格。 扁平化 随着大家渐渐熟知了界面交互的种种共识,也就不再需要通过直观的视觉细节来了解 UI 元素的作用。于是从 2010 年起,各家巨头都陆陆续续开始走上了扁平的道路。 Jony Ive 担任苹果首席设计师的第一个作品,就是 iOS 7,也就是那个把 iOS 6 之前把拟物做到极致的系统完全拍扁的版本。第二年, Yosemite 发布。这一略带质感的扁平风格,成了大多人现在所熟知的 macOS 的形态。...

June 26, 2020 · Bill Chen

解决 macOS 中「可清理」的存储空间

存储空间不足。 检查存储空间时,却会出现一大块显示为「可清理」的空间。这是因为如果开启了 macOS 的 Time Machine,系统会在没有接入外置硬盘的情况下自动做本地快照,占据大量空间。这一块可清理的空间也就是快照占用的磁盘空间,通常会有 3 - 10 GB。 为了清理这一快空间,可以使用以下命令: tmutil deletelocalsnapshots /System/Volumes/Data 清理掉本地快照即可。 这条命令不总是有效,如果当前正在备份或者正在进行关键操作,会提示无法清除。等待片刻即可。你也可以使用 tmutil listlocalsnapshots /System/Volumes/Data 列出所有本地快照,然后使用 tmutil deletelocalsnapshots <快照日期> 删除即可。 另一个解决方案是禁用掉 Time Machine 的本地备份功能。在 Time Machine 的设置中关闭掉自动备份,并临时使用 tmutil disable 禁用,当你需要备份的时候手动点击备份或者使用 tmutil enable 即可。 参考:https://support.apple.com/en-hk/HT204015

March 31, 2020 · Bill Chen

在 macOS 下备份/还原/重置 LaunchPad 布局

前几天升级到 Catalina Public Beta 后,LauchPad 会出现无法刷新的问题。除了在 App Store 里下载的应用外,其他第三方应用在拖入应用程序文件夹之后无法在 LauchPad 中运行。虽然目前还没有完美的解决方案,为了更新布局只能手动将应用程序拖到 LaunchPad 图标上。在下一个 Beta 版本发布之前,这里提供一个备份和重置布局的方法,可以在布局出现问题的时候留下一手。 备份与还原 LaunchPad 的布局数据库位于 /private/var/folders 下的某个文件夹内,具体位置可以在终端中输入以下命令查找: cd /private/var/folders sudo find ./ -name 'com.apple.dock.launchpad' 我这里找到的位置位于: 接下来在 finder 中前往至 /private/var/folders 下对一个的子文件夹,备份 db 文件夹下的所有文件即可。 恢复布局的时候,将备份好的数据文件覆盖到该文件夹下,再运行 sudo killall Dock 即可。 重置 在终端中运行如下命令: defaults write com.apple.dock ResetLaunchPad -bool true killall Dock 该操作会将布局恢复为出厂默认的状态。第三方应用在正常情况下会开始从第二页开始排列。不过在 Catalina Public Beta 1 下,这个操作会使所有第三方应用消失,别忘了提起备份。为了在执行了这个操作后重新添加所有第三方 App,可以在应用程序文件夹选中所有 app 文件,拖动到 LaunchPad 的小火箭图标上。 值得一提的是,这个系统默认的布局存储在/System/Library/CoreServices/Dock.app/Contents/Resources/LaunchPadLayout.plist下。不过一般情况下,这个文件不应该被修改。 参考链接 https://www.reddit.com/r/MacOS/comments/bxtve1/launchpad_applications_missing_in_macos_catalina/ https://discussions.apple.com/thread/8285610

July 1, 2019 · Bill Chen

使用 VSCode 在 Mac 上配置 C/C++ 调试环境

Background VSCode是微软开发的一款开源代码编辑器,具有可拓展性强,多语言支持,跨平台等优点,在不同的个性化配置下几乎可以用作所有的轻量级开发。我在初学C的时候也使用的是类似于Xcode、Visual Studio等大型IDE来新建一个C语言工程,编写一个仅含有main函数的文件,显得过于大材小用了。后来学校推荐使用的Code::Blocks和Dev C++也已经多年没有更新,且界面古老,对Mac的支持也很差。直到使用了VSCode并正确配置了之后,我似乎找到了当下最适合用于学习C/C++的代码编辑器。 下载与安装 https://code.visualstudio.com/ 配置调试环境 首先你需要在你的硬盘上新建一个文件夹用于存放你的代码文件。我这里使用的是LearningRepo。在新建一个C或者C++文件后会自动提示安装Extension For C/C++ Support。你也可以在插件页手动安装。如果你喜欢中文界面,直接在插件中搜索Chinese就可以得到中文语言支持。 此时你已经可以新建代码文件并编辑。但为了能在终端中直接调试代码,我们还需要配置Launch.json和task.json。 配置 launch.json 进入左侧的调试页面,选择[添加配置…],就会自动在你的工作目录下新建一个.vscode文件来存放你的调试配置。这里我们选择C/C++: (lldb) Launch。 对于这里的配置,官方的文档里( https://go.microsoft.com/fwlink/?linkid=830387 )有详细的说明。对于一般用户,我在这里修改成了如下配置。 { "preLaunchTask": "build c++", "name": "Launch C++", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/temp/${fileBasenameNoExtension}.out", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "lldb", } 大部分保持默认,需要修改的地方如下: preLaunchTask:手动添加的参数,稍后我们会自行编辑的一个任务,其作用是将当前文件编译成可执行文件。 program:需要和稍后配置的task相对应,即打算运行的程序。需要设置为二进制程序目录而不是源代码文件。 externalConsole:设置为true来在外置终端(macOS自带的)中运行程序。该选项设置为false的话会在内置终端中运行,无法输入数据(应该有解决方法,但我目前没有发现) 如果你需要打开日志来排查问题,加入以下内容: "logging": { // "engineLogging": true, "trace": true, "traceResponse": true, } 这个运行任务的意思就是首先运行一个build c++的task来,得到可执行文件,接着再运行并调试这个文件。 配置 task.json 对于默认快捷键,点击command+P并输入>task来新建一个生成任务。 在该文件里,我们配置一个名为build c++的task,将文件编译到工作目录下temp文件夹下的对应文件(你也可以自行配置生成目录,但需要和上面的launch.json相对应。我的build c++配置如下:...

March 24, 2019 · Bill Chen

适用于 macOS 下 2K 显示器开启 HiDPI 的简便解决方案

前阵子入手了一款2k的显示器用于mbp的拓展屏幕,但由于苹果系统的严格限制,只有在4K及以上显示器上才能开启自带的HiDPI进行缩放以达到retina显示屏的效果。2k显示器下的字体会偏小发虚,使用1080p的HiDPI即可实现较好的显示效果。 网上比较流行的解决方案是使用switchResX或者RDM等第三方工具导入配置文件,或者使用自己新建的配置文件自行修改系统文件。在这个文章里可以看到这种方法:https://comsysto.github.io/Display-Override-PropertyList-File-Parser-and-Generator-with-HiDPI-Support-For-Scaled-Resolutions/ 不过使用第三方工具修改的分辨率无法在系统设置里设置缩放,同时还有可能会引出许多双屏的小问题,例如黑屏或者偶尔的分辨率错乱。这里推荐一个简便的方法,在终端里运行如下命令: sh -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi.sh)" 如图,你甚至可以选择外置显示器的图标 如此以来,在重启系统后便可以在系统设置里调整原生的HiDPI设置了。 需要注意的是,对于macOS 10.11及以上系统,以上的每一种方式都需要关闭SIP(系统完整性保护)之后再操作。当然关闭这一功能是有风险的,你可以在修改完显示器配置之后再启用这一功能。启用和禁用的方法便是进入恢复模式(开机时按住cmd+R)的终端内输入csrutil disable(禁用)或者csrutil enable(启用)。 如果你对macOS的SIP感兴趣的话,这里有一篇推荐阅读的文档:https://support.apple.com/en-us/HT204899

February 25, 2019 · Bill Chen