Как выполнить deeplink от виджета к родительскому приложению в Objective C

Мое приложение - это UIKit приложение (Swift + Objective-C), а не SwiftUI приложение. После внедрения этого нового WidgetKit как я могу выполнить глубокую ссылку с виджета на свое приложение?

Каким методом в AppDelegate я получу обратный вызов?

Проверьте код ниже:

var body: some View {
    VStack {
        Text(entry.date, style: .time)
            .widgetURL(widgetsEntryView.deeplinkURL)
    }
}

Если я создам проект в Swift, я получаю обратный вызов:

func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {

}

Пробовал и Link. Может ли кто-нибудь помочь мне решить эту проблему.


person Ajith Kumar    schedule 17.11.2020    source источник
comment
Отвечает ли это на ваш вопрос? Выполнять глубокую ссылку из виджета SwiftUI одним касанием   -  person pawello2222    schedule 17.11.2020
comment
В частности, этот ответ: stackoverflow.com/a/64297619/8697793   -  person pawello2222    schedule 17.11.2020
comment
Нет, это не так. Метод обратного вызова Objective C отсутствует. У меня отлично работает, если я использую swift и swiftui. Не в цели c.   -  person Ajith Kumar    schedule 17.11.2020


Ответы (1)


Какой метод в AppDelegate я получу обратный вызов?

Вы можете использовать application:openURL:options:.

- (BOOL)application:(UIApplication *)app 
            openURL:(NSURL *)url 
            options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options;
person pawello2222    schedule 17.11.2020