• 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

    主楼
  • 20015jjw

    很正常的 apple api 的设计这么多年了还是这样

    #1
  • daxigua1te

    版本判断这个太正常了,iOS app 开发的时候经常能看到一堆,特别是有历史沉淀的项目。

    #2
  • noahhhh

    巧了我也遇到了

    #3
  • pengzh1

    太真实了,大版本一升去年调好的今年又得重来

    #4
  • neiltroyer849

    退回 26.6 的 xcode 可行吗?

    #5

发表回复

登录后回复