如何迁移到新的 SwiftUI 应用协议?

12 xcode ios swift swiftui

我正在开发一个 SwiftUI 应用程序,该应用程序仍然具有场景/应用程序委托文件,并希望将其迁移到新的 SwiftUI 应用程序协议。

这只是删除场景/应用程序委托文件,然后将我的 ContentView (在我的例子中为初始视图)添加到 @main 结构的问题吗?

谢谢你!

@main
struct TestApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

Run Code Online (Sandbox Code Playgroud)

paw*_*222 21

您需要按照以下步骤将 SwiftUI 应用程序迁移到新的App生命周期:

  1. 创建一个新App结构并添加@main注释:
@main
struct TestApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. @main从中删除注释AppDelegate

  2. Scene Configuration从......中去除Info.plist

在此输入图像描述

  1. (可选)移动AppDelegate/SceneDelegate方法:
  1. 现在您可以从项目中删除AppDelegateSceneDelegate类(首先确保应用程序确实按预期工作)。

  2. 重新安装应用程序(按照评论中的建议)。

  • 此外,您还需要从设备上完全重新安装应用程序并进行清理 (7认同)
  • 实际上,您不需要重新安装应用程序,至少在模拟器上是这样。您只需完全关闭应用程序并重新启动即可 (2认同)