deplives
V2EX  ›  macOS

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

  •  
  •   deplives · 1 day ago · 1022 views

    前几个月开发了个 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

    6 replies    2026-09-16 18:40:10 +08:00
    20015jjw
        1
    20015jjw  
       1 day ago
    很正常的 apple api 的设计这么多年了还是这样
    daxigua1te
        2
    daxigua1te  
       20h 54m ago
    版本判断这个太正常了,iOS app 开发的时候经常能看到一堆,特别是有历史沉淀的项目。
    noahhhh
        3
    noahhhh  
       19h 6m ago via Android
    巧了我也遇到了
    pengzh1
        4
    pengzh1  
       18h 39m ago
    太真实了,大版本一升去年调好的今年又得重来
    neiltroyer849
        5
    neiltroyer849  
       12h 59m ago
    退回 26.6 的 xcode 可行吗?
    MindMindMax
        6
    MindMindMax  
       11h 5m ago
    27 beta2 之前还有本地网络访问的权限 bug ,害得我调了 1 天, 气死我了。Apple 品控太菜,
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   942 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 21:45 · PVG 05:45 · LAX 14:45 · JFK 17:45
    ♥ Do have faith in what you're doing.