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
จากโครงการแล้วคุณต้องเอาแอพลิเคชันฉาก ManifestพจนานุกรมจากInfo.plist
