如何解决应用程序启动时如何处理url?
当应用挂起时如何处理iOS目标c中的深层链接。如果应用程序在后台打开 url 委托将调用,因此可以在那里处理 url。
当应用从具有自定义 url 方案和参数的深层链接启动时,哪个委托方法可以处理 url。
网址类似于 myapp://params?app_id=1234
提前致谢。
解决方法
我在我的项目中实现了 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”。
此外,您可以查看以下讨论来解决此问题:
,我怀疑您的主要逻辑期望调用 - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
。
我也怀疑在你的情况下,如果应用程序被杀死,它不会被调用。
解决方案很简单 - 确保您同时 - (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions
和 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary<UIApplicationLaunchOptionsKey,id> *)launchOptions
并且它们都返回 YES。
这将使 iOS 在应用启动时调用 - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。