iOS 26 Liquid Glass 和 UIScene 适配 及回归测试

4 阅读6分钟

适配工作,并不复杂,具体代码因涉及业务逻辑,就不粘贴了,大家用 AI coding下也可。

一、苹果官方时限与强制要求

1.1 核心截止日期

⏰ 关键日期:2026 年 4 月 28 日。所有新提交和更新包必须使用 iOS 26 SDK 构建,没有宽限期。

截止日期要求内容影响范围
2026-04-28iOS / iPadOS 应用必须使用 iOS 26 SDK 构建所有新提交和更新包 ✅
2026-04-28tvOS 应用必须使用 tvOS 26 SDK 构建所有新提交和更新包 ✅
2026-04-28watchOS 应用必须使用 watchOS 26 SDK 构建所有新提交和更新包 ✅
Xcode 27 发布前Liquid Glass 完整适配,UIDesignRequiresCompatibility失效过渡选项被强制移除 ✅
Xcode 27 发布前UIScene 生命周期迁移(UIKit 应用)强制,不迁移将无法启动 ✅

Xcode 27 预期在 2026 年 9 月份发布。

1.2 苹果原文(Apple Developer 官方)

Starting April 28, 2026, apps and games uploaded to App Store Connect
need to meet the following minimum requirements:

• iOS and iPadOS apps must be built with the iOS 26 & iPadOS 26 SDK or later
• tvOS apps must be built with the tvOS 26 SDK or later
• visionOS apps must be built with the visionOS 26 SDK or later
• watchOS apps must be built with the watchOS 26 SDK or later

— Apple Developer News, developer.apple.com/news/?id=ueeok6yw

1.3 常见误解说明

误解正确理解
必须把 Deployment Target 改为 iOS 26❌ 错误。iOS 16 Deployment Target 完全不需要修改
用 iOS 26 SDK 构建后用户必须升级到 iOS 26❌ 错误。运行系统要求由 Deployment Target 决定
所有 APP 立即显示 Liquid Glass⚠️ 默认开启,但可用 UIDesignRequiresCompatibility 临时关闭
现有上架版本会被下架❌ 错误。仅影响新提交和更新包,现有已上线版本不受影响
有宽限期❌ 错误。苹果明确表示没有宽限期

二、构建环境强制要求

2.1 工具链要求

工具最低版本说明
Xcode26.0+(推荐 26.3)必须使用 Xcode 26 才能构建 iOS 26 SDK
macOSSequoia 15.3+Xcode 26 对 macOS 版本有要求
iOS SDK26.3(当前最新)Xcode 26 自带,无需单独安装
Swift6.0(可选)Swift 5 仍受支持,不强制升级

三、Liquid Glass 适配要求

3.1 什么是 Liquid Glass

Liquid Glass 是 iOS 26 全新的设计语言,融合了玻璃的光学特性(折射、反射)与液态动效,是苹果自 iOS 7 以来最大规模的视觉系统重构。

特性说明
自动适配使用标准 UIKit / SwiftUI 控件的 APP,用 iOS 26 SDK 编译后自动应用 Liquid Glass 效果
默认开启无需任何代码修改,原生控件(NavigationBar、TabBar 等)自动获得新外观
可临时关闭通过 UIDesignRequiresCompatibility = YES 临时退出(仅 Xcode 26 有效)
Xcode 27 强制过渡选项将在 Xcode 27 中被移除,届时 Liquid Glass 成为强制要求

自动适配的系统控件(无需改代码)

  • UITabBar / UITabBarController
  • UINavigationBar / UINavigationController
  • keyboard
  • UIToolbar
  • UIAlertController / UIActionSheet
  • UIButton、UISlider、UISwitch、UISegmentedControl
  • UIScrollView(allowsLiquidTransform 默认开启)
  • SwiftUI 所有标准组件

3.2 Liquid Glass 效果图

3.2.1 TabBar Liquid Glass效果

image.png

3.2.2 UINavigationBar Liquid Glass 效果

导航栏按钮效果与现有布局不协调,屏蔽系统样式,使用线上的旧效果

image.png

3.2.3 键盘样式变化 

因系统键盘变动,带有毛玻璃折射效果,自带圆角和阴影效果,为了视觉上柔和些,在底部添加了白色到灰色的渐变色区域。

image.png

3.2.4 系统弹窗 & 自定义弹窗 Liquid Glass效果

自定义弹窗也可使用系统的Liquid Glass效果,因设计,开发,测试成本,暂不调整。

image.png

3.3 需要手动适配的场景

场景问题解决方案
自定义 NavigationBar 背景旧 API 与 Liquid Glass 冲突导致新 API 失效改用 UINavigationBarAppearance
自定义弹窗 / Sheet固定白色背景与系统风格不一致使用 UIGlassEffect / UIVisualEffectView
UIBarButtonItem 样式按钮自动共享 Liquid Glass 背景设置 hidesSharedBackground = true
CAGradientLayer 渐变视图固定颜色视觉割裂感可选:调整为渐变融合系统材质

四、UIScene 生命周期迁移

苹果宣布:使用最新 SDK 构建的 UIKit 应用,在 Xcode 27 版本之后必须采用 UIScene 生命周期,否则无法启动。

⚠️ 高优先级:虽然 Xcode 26 暂时不强制,但这是Xcode 27的硬性要求。项目中如果还在使用 AppDelegate window 模式,需要提前迁移到 SceneDelegate。

<!-- Info.plist 添加 Scene 配置 -->
<key>UIApplicationSceneManifest</key>
<dict>
    <key>UIApplicationSupportsMultipleScenes</key>
    <false/>
    <key>UISceneConfigurations</key>
    <dict>
        <key>UIWindowSceneSessionRoleApplication</key>
        <array>
            <dict>
                <key>UISceneConfigurationName</key>
                <string>Default Configuration</string>
                <key>UISceneDelegateClassName</key>
                <string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
            </dict>
        </array>
    </dict>
</dict>
// SceneDelegate.swift
import UIKit

class SceneDelegate: UIResponder, UIWindowSceneDelegate {
    var window: UIWindow?

    func scene(_ scene: UIScene,
               willConnectTo session: UISceneSession,
               options connectionOptions: UIScene.ConnectionOptions) {
        guard let windowScene = scene as? UIWindowScene else { return }
        window = UIWindow(windowScene: windowScene)
        window?.rootViewController = MainTabBarController()
        window?.makeKeyAndVisible()
    }
}

五、App Icon 适配要求

5.1 新图标规范

iOS 26 引入多图层图标系统,支持 6 种模式,系统会对老图标自动尝试分层:

模式说明适配优先级
Default(默认)标准浅色模式,现有图标自动兼容✅ 已有
Dark(深色)深色背景下的图标变体🟡 建议补充
Clear Light(透明浅色)透明背景浅色变体🟢 可选
Clear Dark(透明深色)透明背景深色变体🟢 可选
Tinted Light(着色浅色)系统色调浅色变体🟡 建议补充
Tinted Dark(着色深色)系统色调深色变体🟡 建议补充

5.2 是否强制重建图标

不强制。苹果会自动分析现有图标并生成分层版本,层次清晰的图标(背景 + 前景)系统自动分层效果较好。

六、第三方库兼容性处理

三方库iOS 26 兼容性操作建议
DoraemonKit❌ 获取window失败在 AppDelegate 做兼容处理
RxSwift 6.5.0⚠️ Main Actor 警告较多已升级到6.9.0,待升级到 6.9.1 ~6.10.2 修复并发崩溃

七、回归测试清单

7.1 Liquid Glass 效果图 (全部页面)

  • TabBar 正常显示 ,切换 tab 交互效果流畅
  • 导航栏样式不变,返回按钮展示和交互,无异常
  • 首页导入文档,粘贴长文本,弹起键盘后样式无异常

7.1 UIScene 生命周期迁移

🚀 启动流程

  • 冷启动正常显示 TabBar
  • 隐私协议弹窗正常弹出
  • 同意协议后 SDK 正常初始化
  • 已安装过的用户跳过协议直接进入

🔗 跳转与路由

  • 微信登录正常
  • QQ 登录正常
  • 苹果登录正常
  • 作品正常分享到微信,后点击返回AiPPT,正常
  • 作品正常分享到朋友圈,后点击返回AiPPT,正常
  • 作品正常分享到QQ,后点击返回AiPPT,正常
  • Universal Link 跳转正常(分享PPT作品,手机浏览器打开,点击打开APP)
  • 自定义 Scheme 路由正常

🛒 会员内购

📲 推送

🔄 前后台切换

📱 屏幕旋转

🛠 调试工具( 测试、预发布环境)

7.3 测试场景

然后分别在以下环境各跑一次: