iOS 13
Тільки якщо ціль 13 або більше.
SceneDelegateне підтримується до iOS 13 . Якщо ви хочете використовувати, SceneDelegateа також хочете підтримувати iOS до iOS 13, тоді вам доведеться додати деякі зміни до свого проекту.
- Додайте атрибут доступності до всього класу у файл SceneDelegate.swift .
@available(iOS 13.0, *)
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
...
}
- Файл AppDelegate.swift має два нові
SceneDelegateметоди. Додайте до них і атрибут доступності.
@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>) {
...
}
- Нарешті, додайте
UIWindowоб’єкт у 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 і новіші версії
AppDelegateпотребує UIWindowмайно. iOS 13 використовує SceneDelegateв нових проектах. Вкажіть UIWindowоб'єкт та видаліть файл SceneDelegate.swift .
Якщо ви видалили SceneDelegateпроект, ви повинні видалити словник програми маніфесту сцени з Info.plist .
