我已经使用网址架构在我的应用中实现了深层链接,该架构在除11 之外的所有iOS版本中都能正常运行。问题是当我在设备浏览器中加载 AppURLSchema:// 时会启动应用,但是没有调用appDelegate方法来获取深层链接网址以便我可以执行深层链接,以便用户能够根据URL查看不同的内容。
以下函数均未被调用:
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
这不是iOS 10上的问题,似乎已在iOS 11中引入。
任何帮助将不胜感激。
谢谢!
答案 0 :(得分:1)
我遇到同样的问题,我发现我的应用中集成的SDK Firebase阻止了以下回调:application:openURL:options
。
如果没有配置Firebase,一切正常。
答案 1 :(得分:1)
这不仅仅是配置Firebase SDK导致此问题。使用Firebase SDK它运行正常但是我的应用程序中还集成了Localytics SDK,FIREBASE和LOCALYTICS SDK之间存在一些冲突,因为我的应用程序没有得到回调。
所以我刚刚根据优先级删除了Firebase框架,一切正常。
答案 2 :(得分:0)
如Localytics Documentation中所述,两个平台的集成都可能导致冲突,尤其是在处理深层链接方面。
如Firebase documentation中所述,可以通过在应用的info.plist中添加设置为 NO 的 FirebaseAppDelegateProxyEnabled 来防止Firebase混淆AppDelegate中的方法。< / p>