Bje*_*sen 13 url-scheme deep-linking openurl ios ios9
我在iOS 9中使用我们的登录系统有一个奇怪的重定向应用程序问题.
现在,我已经允许了abitrary有效负载,并且我的url方案在我的plist文件中正确设置.
这是怎么回事:
现在,如果用户关闭SFSafariViewController,返回我们的应用程序登录页面并尝试再次登录,每次从那里重定向到应用程序,每次调用openUrl AppDelegate方法.
请注意,在iOS9上,我们之前已将应用程序外部重定向到Safari以完成登录过程(而不是使用SFSafariViewController)并遇到相同的问题,而"在应用程序中打开"弹出窗口重定向到应用程序只会显示在第二次登录尝试和向上.
这一切都只发生在iOS 9上.在iOS 8上,此问题不会出现,我们的用户在登录后始终会重定向到该应用.
在OAuth登录后发送到应用程序的重定向URL在首次登录尝试时都是相同的.
有人在iOS 9上遇到过这样的问题吗?
正如您提到的有关 Facebook 的内容,所以
首先,猜测您错过了UIApplicationDelegate中对FBSDKApplicationDelegate 的调用 application:openURL:sourceApplication:annotation: application:openURL:options:
您可能NSURL *url = [launchOptions objectForKey:UIApplicationLaunchOptionsURLKey];在UIApplicationDelegate中缺少这一行 didFinishLaunchingWithOptions
交叉检查您是否遵循了https://developers.facebook.com/docs/ios/ios9中提到的设置
如果设备是越狱的,那么在 iOS 9.0.2 中将会导致 url 方案问题。
对我有用的解决方案是以下代码行,因为我在我的应用程序中集成了 FB /G+ ,与你的应用程序相同:-
- (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];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1154 次 |
| 最近记录: |