빙수왕의 개발일지

위젯킷 > 앱 오픈 시 실행되는 메서드들 테스트 본문

개발/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