You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SceneDelegate.swift已废弃/架构变更?新项目无该文件的技术疑问

解答

这是因为苹果的iOS项目模板(关联应用生命周期架构)发生了变更——Xcode 12及之后的版本里,默认新建项目不再生成SceneDelegate.swift文件:

  • 对于UIKit项目,场景管理的逻辑被合并到了AppDelegate.swift中;
  • 对于SwiftUI项目,直接通过遵循App协议的结构体来管理应用生命周期,不再依赖SceneDelegate。

如果你需要和教程保持一致,完全可以手动创建这个文件:

  1. 在项目目录右键选择「New File」,创建名为SceneDelegate的Swift文件;
  2. 写入基础的SceneDelegate代码:
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)
        // 这里可以添加教程里的后续逻辑,比如设置根视图控制器
    }
}
  1. 最后修改Info.plist,添加「Application Scene Manifest」配置项,指定SceneDelegate为场景代理类,确保系统能正确识别并调用它。

内容的提问来源于stack exchange,提问作者reallymemorable

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 02:40:38