I've used the Facebook integration successfully on pre-iOS 9 devices. Now I'm trying to use it on an iOS 9 device and the login flow is broken. The problem seems to be that on iOS 9, Facebook callback happens via a different AppDelegate override compared to iOS 8.x because the method used on iOS 8 is deprecated in iOS 9.
On iOS 9, the appdelegate's public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options) is called. There's no equivalent method in the Facebook SDK.
On iOS 8.x, the appdelegate's public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation) is called and I can use the Facebook SDK's ApplicationDelegate.SharedInstance.OpenUrl(application, url, sourceApplication, annotation) correctly.
I tried to re-use this same method on iOS 9 for the OpenUrl(UIApplication app, NSUrl url, NSDictionary options) signature like this:
public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options) {
return ApplicationDelegate.SharedInstance.OpenUrl(app, url, "", options);
}
But it doesn't work. My FB login flow is never finished.