首页 > 解决方案 > 应用程序启动时如何处理 url?

问题描述

应用挂起时如何处理iOS目标c中的深层链接。如果应用程序在后台打开 url 委托将被调用,因此可以在那里处理 url。

当应用程序从具有自定义 url 方案和参数的深层链接启动时,哪个委托方法可以处理 url。

网址类似于 myapp://params?app_id=1234

提前致谢。

标签: iosobjective-cdeep-linkingurl-scheme

解决方案


我在我的项目中实现了 Firebase 动态链接(类似于 Facebook 的延迟链接),以下委托有助于处理通用动态链接:

- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:
#if defined(__IPHONE_12_0) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_12_0)
(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> *_Nullable))restorationHandler {
#else
    (nonnull void (^)(NSArray *_Nullable))restorationHandler {
}

NSUserActivity 对象将包含您正在寻找的“webpageURL”。

此外,您可以查看以下讨论来解决此问题:

Firebase Deeplink 未调用 Swift 3 中 AppDelegate 的 application:continueUserActivity:restorationHandler 函数


推荐阅读