向后兼容应用时代的终结

马蒂亚斯·甘斯里格勒-赫拉德:

我不喜欢被Xcode 27强迫放弃对macOS 10.13-11.0的支持。支持哪些操作系统是我的决定,不是苹果的。是的,我可以保留Xcode 26直到提交要求Xcode 27,但之后呢?

最初,Xcode 27 被记录为支持 Intel Mac 上的 Big Sur,但现在最早的版本是 Monterey。

我也很沮丧,但这比最近那些声称支持旧版macOS部署的版本更诚实,而苹果显然没测试过它是否真的有效。我提交了bug,苹果一直回复说已经修复了,但实际上并没有。

使用旧版 Xcode 并不是好方案,因为 Golden Gate 不支持旧版本。Swift 也让使用旧 SDK 时调用新 API 变得更困难。你不能简单复制粘贴方法原型或常数值,然后在新操作系统上有条件地使用。

伊戈尔·朱莱:

我最终找到了一个隐藏的变通方法,可以把错误变回警告。这是个好消息,但并不能让担忧消失。该设置未公开文档,正常 Xcode 界面中缺失,目前仅在测试工具链中测试。更大的问题是,当 Xcode 27 最终发布,以及 App Store 提交要求转移到其 SDK 时,苹果打算执行什么。苹果目前的Xcode 系统要求列出Xcode 26,部署目标从iOS 15和macOS 11开始。然而开发者能够手动输入较旧的目标。在苹果开发者论坛关于Xcode 26的讨论一位苹果产品经理解释说,发布的部署目标范围与模拟器支持和设备调试保持一致。公认的答案确认,即使低于苹果表格中的目标范围,iOS 13 仍可构建。我自己的测试更进一步。Xcode 26.5 编译了一个针对 iOS 9.0 的项目。它警告目标比支持范围更旧,但构建成功了。在 macOS 上,我编译过部署目标最早到 macOS 10.9 的当前应用。Xcode 警告过我,但它仍然能生成可用的应用程序。对于 iOS 和 iPadOS,继续使用 Xcode 26 并不是持久的选择。苹果多次强制要求新 App Store 提交必须使用当前的 Xcode 和 SDK。如果这些条件中的任何一项失败,iOS 和 iPadOS 开发者将无法正常发布支持超过 15 版本的新更新。

之前:

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论