UIWindowScene 🍎

YaR LabΒ·2023λ…„ 9μ›” 8일
0

iOS 🍎

λͺ©λ‘ 보기
22/26
post-thumbnail

1️⃣ μ •μ˜

μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ ν•˜λ‚˜ μ΄μƒμ˜ μ°½ Window 을 κ΄€λ¦¬ν•˜λŠ” 씬 Scene

@MainActor
class UIWindowScene : UIScene

2️⃣ μ„€λͺ…

  • UIWindowScene κ°μ²΄λŠ” μ•±μ˜ ν•˜λ‚˜μ˜ UI μΈμŠ€ν„΄μŠ€λ₯Ό κ΄€λ¦¬ν•˜λ©°, ν•΄λ‹Ή Sceneμ—μ„œ ν‘œμ‹œλ˜λŠ” ν•˜λ‚˜ μ΄μƒμ˜ Windowλ₯Ό 포함함
  • 이 Sceneκ°μ²΄λŠ” μ‚¬μš©μžμ˜ κΈ°κΈ°μ—μ„œ 창을 ν‘œμ‹œν•˜κ³  μ‚¬μš©μžμ™€μ˜ μƒν˜Έ μž‘μš©μ— λ”°λ₯Έ Scene의 라이프 사이클을 관리함
  • Scene의 μƒνƒœκ°€ λ³€κ²½λ˜λ©΄ Scene κ°μ²΄λŠ” delegate κ°μ²΄μ—κ²Œ μ•Œλ¦Όμ„ 보내며, λ˜ν•œ λ“±λ‘λœ notification observers μ—κ²Œ μ μ ˆν•œ μ•Œλ¦Όμ„ κ²Œμ‹œν•¨
  • λ³€κ²½ 사항에 λŒ€μ‘ν•˜κΈ° μœ„ν•΄ delegate 객체 λ˜λŠ” notification observersλ₯Ό μ‚¬μš©ν•΄μ•Όν•¨

⛔️ μ£Όμ˜μ‚¬ν•­

  • μ§μ ‘μ μœΌλ‘œ UIWindowScene 객체λ₯Ό μƒμ„±ν•˜λ©΄ μ•ˆλ¨
  • λŒ€μ‹ , μ•±μ˜ Info.plist 파일의 Scene ꡬ성 μ„ΈλΆ€ 정보에 Scene 의 클래슀 이름을 ν¬ν•¨ν•˜μ—¬ ꡬ성 μ‹œμ— UIWindowScene 객체λ₯Ό μ›ν•˜λŠ” κ²ƒμœΌλ‘œ 지정헀야함
  • λ˜ν•œ μ•± 델리게이트의 application(:configurationForConnecting:options:) λ©”μ„œλ“œμ—μ„œ UISceneConfiguration 객체λ₯Ό 생성할 λ•Œ 클래슀 이름을 지정할 μˆ˜λ„ 있음
  • μ‚¬μš©μžκ°€ μ•±κ³Ό μƒν˜Έ μž‘μš©ν•  λ•Œ, μ‹œμŠ€ν…œμ€ μ œκ³΅ν•œ ꡬ성 데이터λ₯Ό 기반으둜 μ μ ˆν•œ Scene 객체λ₯Ό 생성함
  • ν”„λ‘œκ·Έλž˜λ° λ°©μ‹μœΌλ‘œ Scene을 μƒμ„±ν•˜λ €λ©΄ UIApplication의 requestSceneSessionActivation(:userActivity:options:errorHandler:) λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•΄μ•Όν•¨

μΆœμ²˜πŸ“š

🍎Apple Docs: UIWindowScene

0개의 λŒ“κΈ€

κ΄€λ ¨ μ±„μš© 정보