개발/iOS
위젯킷 > 앱 오픈 시 실행되는 메서드들 테스트
빙수킹
2025. 1. 4. 16:03
1. 그냥 위젯 눌러서 앱 켜질 때 (configurable 위젯이라 그럴지도)
func scene(_ scene: UIScene, continue userActivity: NSUserActivity)
이 때 찍어본 값들
(lldb) po userActivity.activityType
"SomeWidgetConfigurationIntent" // configurable
"com.someCompany.someApp.Widget.someWidget" // 일반 위젯
(lldb) po userActivity.userInfo
▿ Optional<Dictionary<AnyHashable, Any>>
▿ some : 2 elements
▿ 0 : 2 elements
▿ key : AnyHashable("WGWidgetUserInfoKeyFamily")
- value : "WGWidgetUserInfoKeyFamily"
- value : systemMedium
▿ 1 : 2 elements
▿ key : AnyHashable("WGWidgetUserInfoKeyKind")
- value : "WGWidgetUserInfoKeyKind"
- value : com.company.SomeWidget
2. 위젯 > View 에 등록한 Link url로 진입 시
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>)
디버그 찍어본 값들
(lldb) po URLContexts
▿ 1 element
- 0 : <UIOpenURLContext: 0x302b74d40; URL: someApp://someScheme/widget?widget_family=medium&widget_name=namename; options: <UISceneOpenURLOptions: 0x303887180; sourceApp: (null); annotation: (null); openInPlace: NO; _eventAttribution: (null)>>
3. 위젯 > Button에 등록한 AppIntent에 openAppWhenRun = true 로 넣고 실행 시
앱 켜지는데,
- 앱 안켜졌다 켜지면 4번처럼 scene(_:willConnectTo:options:): *****scene willConnectTo
- 앱 켜져있는 상태라면? 아무것도 안들어옴..
4. 그냥 생으로 앱 켰을 때
scene willConnectTo