iOS Make an AppDelegate in SwiftUI
운영 체제: macOS Ventura 13.0.1
사용 버전: Xcode 14.2, Swift, SwiftUI
웬만하면 App의 init()이나 scenePhase를 사용해서 해결하려고 하지만, 쉽지 않군요.
그냥 AppDelegate를 만듭시다.
아래와 같은 App 파일이 있습니다.
사용 버전: Xcode 14.2, Swift, SwiftUI
iOS Make an AppDelegate in SwiftUI를 알아보겠습니다.
SwiftUI는 기본적으로 AppDelegate가 없습니다. 그래서 다른 라이브러리의 기술 문서를 보면서 무엇인가 작성하려고 하면 턱하니 막힐 때가 있습니다.웬만하면 App의 init()이나 scenePhase를 사용해서 해결하려고 하지만, 쉽지 않군요.
그냥 AppDelegate를 만듭시다.
아래와 같은 App 파일이 있습니다.
File - New - File... 을 누릅니다.
Swift File을 누릅니다.
AppDelegate로 만듭니다.
만든 파일에 import UIKit을 합니다.
그리고 class AppDelegate를 만들고, NSObject, UIApplicationDelegate를
상속받습니다.
그리고 원하는 함수를 적습니다. 저는 applicationDidBecomeActivity가 필요해서
적었습니다.
이제 다시 App으로 갑니다.
14 번째 줄처럼 @UIApplicationDelegateAdapter(AppDelegate.self) var
appDelegate: AppDelegate를 적어줍니다.
그러면 이제 되는데 문제는 applicationDidBecomeActivity가 작동하지 않네요.
이유는 @main이라서 이미 시작된 다음에 App 파일이 시작되는 거라 그전에 작동되는
applicationDidBecomeActive나 applicationDidEnterBackground 같은 건 작동하지
않습니다.
이런...
하지만, 기본 application 함수들은 작동합니다.
끝.
카테고리: iOS
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.