iOS 13
Hanya jika targetnya 13 atau lebih besar.
SceneDelegatetidak didukung sebelum iOS 13 . Jika Anda ingin menggunakan SceneDelegatedan juga ingin mendukung iOS sebelum iOS 13 maka Anda harus menambahkan beberapa perubahan pada proyek Anda.
- Tambahkan atribut ketersediaan ke seluruh kelas dalam file SceneDelegate.swift .
@available(iOS 13.0, *)
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
...
}
- File AppDelegate.swift memiliki dua
SceneDelegatemetode baru . Tambahkan atribut ketersediaan ke mereka juga.
@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>) {
...
}
- Terakhir, tambahkan
UIWindowobjek di 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 dan sebelumnya
AppDelegatemembutuhkan UIWindowproperti. iOS 13 digunakan SceneDelegatedalam proyek-proyek baru. Tentukan UIWindowobjek dan hapus file SceneDelegate.swift .
Jika Anda telah menghapus SceneDelegatedari proyek, maka Anda harus menghapus kamus Application Scene Manifest dari Info.plist .
