[👷施工中]iOS 26 适配指南

June 15, 2025

#iOS #WWDC

Network

启动闪退

如果你的 App 有访问 API 的情况,并且发现启动会闪退,可能是因为 iOS 26 升级了网络协议,但是你访问的服务器没有同步升级。

这时候你需要在启动方法中添加下列:

import Network

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    nw_tls_create_options()

    // 可以在这里找到更多信息:
    // https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-26-release-notes#Security
}

UIKit

Button

iOS 26 下的 Plain 类型都增加了圆角,需要进行适配和调整,避免和界面上其他元素不匹配。

UITableView

iOS 26 中,Section Header 的默认字体过大,可以通过下列方法进行修改:

func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
    guard let header = view as? UITableViewHeaderFooterView else { return }
    header.textLabel?.font = UIFont.boldSystemFont(ofSize: 14)
    header.textLabel?.frame = header.bounds
}

Image 的显示放在 Title 的前方了,现在无法直观的通过 Image 判断是否选中了某个 Menu Action,建议调整下 Menu 的 Image。

同时对于多个相似的 Action 事件,只设置第一个 Action 的 Image。

例如:复制电话、复制图片、复制姓名,仅在第一个 Action 前面增加 Image,减少视觉干扰的同时,增加了 Section 的感觉。

小组件

图片

如果你桌面小组件包含图片显示,一定要进行处理,否则在 iOS 26 中新主题模式下,图片将显示为纯白色。