开发 macOS app 真的是一种心智负担

1 天前
 deplives

前几个月开发了个 macOS App 使用的 swift 6.3

然后某一天改了一些代码后发现,发现 debug 可以构建,release 构建会失败

变现为进行 release 构建的时候编译器直接崩溃。然后给我一阵排查,ai 也一阵排查,最后 codex 找到了 Swift Issue #90385

嘿还真是和我的情况一模一样,原来还真是编译器 bug

然后今天 升级了 macOS 27 xcode 也升级到了 27 swift 升级到了 6.4 然后就想起了上面这个问题,就给改回去了,然后重新编译,没问题了。然后,正当我准备提交代码,就又发现了不一样的地方

这个是 macOS26 上编译后的 app 右键菜单

这个是 macOS27 上编译后的 app 右键菜单

我就好奇了,我的图标呢?我那么大的图标呢?这部分代码一行也没改啊,然后问了一下 AI

AI 回复:代码里其实已经配置图标。查到原因是 macOS 27 默认会隐藏菜单中的符号图像;我会使用系统新增的显示偏好让它们显示出来,并用版本判断保留旧系统的现有行为。

然后甩了我一个文档 macos-27-release-notes

我真的无语了,然后又加了一段屎山一样的 if #available(macOS 27.0, *)

item.image = NSImage(systemSymbolName: symbolName, accessibilityDescription: nil)
if #available(macOS 27.0, *) {
    item.preferredImageVisibility = .visible
}

我现在真的很好奇,swift 的开发人员自己用不用 swift

1109 次点击
所在节点    macOS
6 条回复
20015jjw
1 天前
很正常的 apple api 的设计这么多年了还是这样
daxigua1te
1 天前
版本判断这个太正常了,iOS app 开发的时候经常能看到一堆,特别是有历史沉淀的项目。
noahhhh
23 小时 54 分钟前
巧了我也遇到了
pengzh1
23 小时 28 分钟前
太真实了,大版本一升去年调好的今年又得重来
neiltroyer849
17 小时 48 分钟前
退回 26.6 的 xcode 可行吗?
MindMindMax
15 小时 53 分钟前
27 beta2 之前还有本地网络访问的权限 bug ,害得我调了 1 天, 气死我了。Apple 品控太菜,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1242267

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX