iOS 13
Solo si el objetivo es 13 o mayor.
SceneDelegateno es compatible antes de iOS 13 . Si desea usar SceneDelegatey también es compatible con iOS antes de iOS 13, entonces debe agregar algunos cambios a su proyecto.
- Agregue el atributo de disponibilidad a toda la clase en el archivo SceneDelegate.swift .
@available(iOS 13.0, *)
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
...
}
- El archivo AppDelegate.swift tiene dos nuevos
SceneDelegatemétodos. Agregue el atributo de disponibilidad a ellos también.
@available(iOS 13.0, *)
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
...
}
@available(iOS 13.0, *)
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
...
}
- Por último, agregue un
UIWindowobjeto en AppDelegate.swift .
class AppDelegate: UIResponder, UIApplicationDelegate {
//Add this line
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
return true
}
...
}
iOS 12 y versiones anteriores
AppDelegateNecesita una UIWindowpropiedad. iOS 13 utiliza SceneDelegateen nuevos proyectos. Especifique el UIWindowobjeto y elimine el archivo SceneDelegate.swift .
Si ha eliminado el SceneDelegateproyecto, debe eliminar el diccionario del Manifiesto de la escena de la aplicación de Info.plist .
