深度链接重定向到应用程序仅在iOS 9及以上版本的第二次尝试时有效
我有一个奇怪的重定向到应用程序的问题与我们的登录系统在iOS 9只 现在,我已经允许了abitrary负载,并且在plist文件中正确设置了url方案 结果是:深度链接重定向到应用程序仅在iOS 9及以上版本的第二次尝试时有效,ios,ios9,deep-linking,url-scheme,openurl,Ios,Ios9,Deep Linking,Url Scheme,Openurl,我有一个奇怪的重定向到应用程序的问题与我们的登录系统在iOS 9只 现在,我已经允许了abitrary负载,并且在plist文件中正确设置了url方案 结果是: 用户被带到SFSafariViewController以使用facebook/google登录 用户输入其凭据(如果已缓存凭据,则不输入) 用户没有被重定向到我们的应用程序,如果他的凭证被缓存,那么用户就会停留在空白页面上,或者停留在最终的google/facebook登录页面上。不会出现“在应用程序中打开”对话框,并且不会调用ope
- 用户被带到SFSafariViewController以使用facebook/google登录
- 用户输入其凭据(如果已缓存凭据,则不输入)
- 用户没有被重定向到我们的应用程序,如果他的凭证被缓存,那么用户就会停留在空白页面上,或者停留在最终的google/facebook登录页面上。不会出现“在应用程序中打开”对话框,并且不会调用openUrl AppDelegate函数
有人在iOS 9上遇到过这样的问题吗 正如你提到的关于Facebook,所以
应用程序:openURL:sourceApplication:annotation:
来自uiapplicationelegate的应用程序:openURL:options:
NSURL*url=[launchOptions objectForKey:uiapplicationaunchoptionsurlkey]代码>在UIApplicationLegate的中使用选项完成启动
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options {
return [[FBSDKApplicationDelegate sharedInstance] application:app
openURL:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]]
|| [[GIDSignIn sharedInstance] handleURL:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
annotation:options[UIApplicationOpenURLOptionsSourceApplicationKey]];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation
] ||
[[GIDSignIn sharedInstance] handleURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
-(BOOL)应用程序:(UIApplication*)应用程序openURL:(NSURL*)url选项:(NSDictionary*)选项{
return[[FBSDKApplicationDelegate sharedInstance]应用程序:应用程序
openURL:url
sourceApplication:options[UIApplicationOpenUrlOptions SourceApplicationKey]
注释:选项[UIApplicationOpenUrlOptions注释键]]
||[[GIDSignIn sharedInstance]句柄url:url
sourceApplication:options[UIApplicationOpenUrlOptions SourceApplicationKey]
注释:选项[UIApplicationOpenURLOptionsSourceApplicationKey]];
}
-(BOOL)应用程序:(UIApplication*)应用程序openURL:(NSURL*)url源应用程序:(NSString*)源应用程序注释:(id)注释
{
return[[FBSDKApplicationDelegate sharedInstance]应用程序:应用程序
openURL:url
sourceApplication:sourceApplication
注释:注释
] ||
[[GIDSignIn sharedInstance]句柄url:url
sourceApplication:sourceApplication
注释:注释];
}
在我的案例中,我有过深度链接问题的经验。问题的根源是我们在info.plist中将CbundleIdentifier
设置为一个空白字符串“”,通过删除它或将它设置为you apps name它修复了我们的路由问题
希望能有所帮助。不,这看起来有些奇怪,我目前正在开发一个应用程序。。升级到ios 9首先它不起作用,然后我在ino.plist中添加了auth,它就开始起作用了。。但是从你的问题来看。。看起来有点尴尬。。它第一次不起作用,然后就起作用了……你能把你的代码发布到你正在运行的地方,以便从社交项目中进行身份验证吗?如果你把你的登录代码放在这里就好了。@tehjord:我已经解决了同样的问题。。但是需要你的代码来确认问题。如果你能在第一次登录后检查并评论控制台的日志就更好了,它一定是在记录一些东西。只要在模拟器中运行你的应用程序,然后将日志从“登录到白屏页面”粘贴到xcode控制台。我仍然添加了一个答案,但将等待日志。