赞助登录提交
博客

触控屏 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 应用,所以我的第一个问题不是“我想要一台吗”,而是“有人用手指戳我的应用时会怎样?”

下面是我的发现,以及这周我打算在自己的应用里检查的内容。

改动了什么

所以问题不是“我的应用能不能用”,而是“手指用起来会不会感觉坏了”。落在 16 点按钮上的一次点击,用触控板没问题,用拇指就很烦。

Apple 建议开发者做什么

Apple 上线了一个 Get ready for Touch on Mac 页面,里面有三个视频。最实用的是 Bring Touch to your Mac app。它的代码示例大意如下:

  1. 当输入方式是触控时,把点击目标在每个方向上扩大到至少 36 点。对鼠标没有任何影响。
  2. 把手写的鼠标跟踪改成手势识别器。如果你有读取拖动事件的 mouseDown 循环,示例会把它换成 NSPanGestureRecognizer,并把 allowedTouchTypes 设为 .direct。
  3. 决定一根手指在滚动视图里做什么。在应该用一根手指绘画的画布上,示例把 minimumNumberOfTouchesForScrolling 设为 2。
  4. 只在系统手势碍事的地方关闭它们,可以在窗口上用 disablesDirectTouchSystemGestures,在 SwiftUI 里用 directTouchSystemGesturesDisabled()。
  5. 声明你的应用是原生触控应用,方法是在 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 的清单。

  1. 找出你最小的控件。工具栏图标、小齿轮、自定义面板上的关闭按钮、密集设置窗口里的复选框。任何一个方向小于 36 点的控件,都是最先要修的。
  2. 留意只在悬停时才出现的东西。手指不会悬停。如果删除按钮或提示只在指针移到某一行上时才出现,触控用户可能永远找不到。给它另一个入口。
  3. 试一遍每一种拖动。列表重新排序、把文件拖出窗口、调整分栏视图大小。自定义鼠标代码往往就在这些地方,所以最可能感觉不对劲。
  4. 检查右键藏起来了什么。如果某个操作只在上下文菜单里,请确保还有一条看得见的途径可以用到它。
  5. 如果你的应用位于屏幕顶部,就在那里测试。菜单栏应用和围绕刘海的应用多了一个新邻居 Dynamic Island,也多了一种新的点按方式。如果你在 MacPip 上有菜单栏应用,或者任何围绕刘海的应用,这周就该看一看。
  6. 看别人怎么用它。把 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,收录是免费的。

来源

继续阅读

提交你的应用面向开发者的免费工具