触控屏 Mac 将于 11月6日 发货。我会在自己的 Mac 应用里检查这些
作者 Justinas Rolando,MacPip 的开发者
MacBook Pro with PROLED XDR Display 是第一台带触控屏的 Mac,将于 11月6日 发货。Apple 说 macOS 会把触控转换成点击,所以大多数应用已经能用。要让手指用起来顺手,请把点击目标做到至少 36 点,用手势识别器替换旧的鼠标跟踪,并测试位于菜单栏或屏幕顶部的所有内容。
10月28日 Apple 发布了 MacBook Pro with PROLED XDR Display,这是第一台可以触摸的 Mac,将于 11月6日星期五 发货。我做的是小型 Mac 应用,所以我的第一个问题不是“我想要一台吗”,而是“有人用手指戳我的应用时会怎样?”
下面是我的发现,以及这周我打算在自己的应用里检查的内容。
改动了什么
- 两款机型。一款 14 英寸,US$2,899 起;一款 16 英寸,US$3,399 起,搭载 M5 Pro 或 M5 Max 芯片。据 MacRumors 报道,预购已于 10月28日 开始。
- 触控已内置在面板中。Apple 展示的手势有:滑动滚动、捏合缩放、拖动物体,以及双击窗口使其填满屏幕。
- macOS 会把触控转换成点击。Apple 声称许多现有应用马上就能用触控。这是好消息:周五不会有人的应用坏掉。
- 没有刘海。这些机型顶部有一个更小的 Dynamic Island,里面放着 Spotlight、Live Activities 和 Siri。
所以问题不是“我的应用能不能用”,而是“手指用起来会不会感觉坏了”。落在 16 点按钮上的一次点击,用触控板没问题,用拇指就很烦。
Apple 建议开发者做什么
Apple 上线了一个 Get ready for Touch on Mac 页面,里面有三个视频。最实用的是 Bring Touch to your Mac app。它的代码示例大意如下:
- 当输入方式是触控时,把点击目标在每个方向上扩大到至少 36 点。对鼠标没有任何影响。
- 把手写的鼠标跟踪改成手势识别器。如果你有读取拖动事件的
mouseDown循环,示例会把它换成NSPanGestureRecognizer,并把allowedTouchTypes设为.direct。 - 决定一根手指在滚动视图里做什么。在应该用一根手指绘画的画布上,示例把
minimumNumberOfTouchesForScrolling设为 2。 - 只在系统手势碍事的地方关闭它们,可以在窗口上用
disablesDirectTouchSystemGestures,在 SwiftUI 里用directTouchSystemGesturesDisabled()。 - 声明你的应用是原生触控应用,方法是在
Info.plist中加入NSIsTouchNative键。
另外还有 Design for Touch on Mac 和 Bring Live Activities to Mac。Apple 将举办两场与其工程师和设计师的在线小组实验室,分别在 11月18日 太平洋时间上午 9 点到 10 点,以及 11月19日 太平洋时间下午 6 点到 7 点。与这一切配套的 Xcode 27.3 beta,我在 11月3日 查看时仍标着“Coming soon”。
我会在自己的应用里按这个顺序检查
这些是我自己的看法,不是 Apple 的清单。
- 找出你最小的控件。工具栏图标、小齿轮、自定义面板上的关闭按钮、密集设置窗口里的复选框。任何一个方向小于 36 点的控件,都是最先要修的。
- 留意只在悬停时才出现的东西。手指不会悬停。如果删除按钮或提示只在指针移到某一行上时才出现,触控用户可能永远找不到。给它另一个入口。
- 试一遍每一种拖动。列表重新排序、把文件拖出窗口、调整分栏视图大小。自定义鼠标代码往往就在这些地方,所以最可能感觉不对劲。
- 检查右键藏起来了什么。如果某个操作只在上下文菜单里,请确保还有一条看得见的途径可以用到它。
- 如果你的应用位于屏幕顶部,就在那里测试。菜单栏应用和围绕刘海的应用多了一个新邻居 Dynamic Island,也多了一种新的点按方式。如果你在 MacPip 上有菜单栏应用,或者任何围绕刘海的应用,这周就该看一看。
- 看别人怎么用它。把 Mac 交给一个从没见过你的应用的人,什么都别说。十分钟下来,你学到的比这样一份清单多得多。
即使你没有这些 Mac,清单上的大部分事项你仍然可以做。第 1、2 和 4 步只是仔细检查你自己的窗口,而示例代码在 Xcode 27.3 beta 发布后就能用新的 SDK 编译。
你该赶紧行动吗?
我不这么认为。Apple 说触控会被转换成点击,这些是昂贵的 Pro 笔记本,而且一开始只发给少数人。更大的点击目标和更少的仅悬停操作,对使用触控板、辅助功能工具或大型外接屏幕的人也有帮助,所以即使触控 Mac 一直是小众产品,这些工作也不会白费。
我会做的是现在就把低成本的修复做完,让周五第一个点按你应用的人有个好体验,并把你改了什么记下来。
测试时
新 Mac 也是检查那些枯燥事项的好时机。你的构建是通用版,还是仅支持 Apple silicon?你的网站有写明吗?据 MacRumors 报道,Apple 表示 macOS 27 之后将结束对应用的通用 Rosetta 2 支持,所以仅支持 Intel 的应用是有期限的。新的通用二进制检查器会读取你的 lipo 或 file 输出,并告诉你每个部分能在什么上运行。发布清单按顺序列出了其余的琐碎事项,如果你要发布更新,如何提交 Mac 应用介绍了商店和直接分发两条路径。
如果你发布了触控更新,请在更新说明里写明,并更新你的应用页面描述,这样想找触控友好应用的人就能找到。如果你的应用还没上 MacPip,收录是免费的。
来源
- Apple Developer: Get ready for Touch on Mac
- Apple Developer: Bring Touch to your Mac app
- Apple Developer: Design for Touch on Mac
- MacRumors: Apple Announces OLED MacBook Pro With Touch Display
- 9to5Mac: Apple releases touchscreen Mac developer videos
- MacRumors: macOS Tahoe 26.4 warns about apps that need Rosetta 2
继续阅读
- MacPip 简介MacPip 是什么、我为什么做它、收录和发布日如何运作、蓝色对勾真正意味着什么,以及它最初几天的真实数据。
- 如何发布 Mac 应用:一页纸的清单Mac 应用发布日前后该做什么:签名、你的页面、目录、Product Hunt、Show HN,以及该衡量什么。
- 如何写一句话描述你的 Mac 应用做什么一种朴实的写法,用来写你 Mac 应用名称下面那一行文字:说清它做什么,去掉夸大,并找一个从没见过这个应用的人来测试。
- 用朴实的语言讲解签名与公证,面向第一次制作 Mac 应用的人代码签名、公证和装订(stapling)各自做什么、按什么顺序进行、没有它们时用户会看到什么,以及如何检查你自己的构建版本。
- 一个提供 dofollow 链接的网站,坦白说这种链接值多少dofollow 的含义、Google 对链接的说法、为什么新目录的链接目前价值不高,以及不买链接时该怎么做。