我遵循了本教程iOS linkedin authentication和LinkedIn的SDK教程的结合。一切似乎都设置得很好。我的应用程序正在打开LinkedIn应用程序。 OAuth URL回调如下所示:
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
if LISDKCallbackHandler.shouldHandle(url) {
return LISDKCallbackHandler.application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
}
return true
}
和我的onLinkedInButtonClicked方法如下:
@IBAction func doLogin(sender: AnyObject) {
LISDKSessionManager.createSessionWithAuth([LISDK_BASIC_PROFILE_PERMISSION], state: nil, showGoToAppStoreDialog: true, successBlock: { (returnState) -> Void in
print("success called!")
let session = LISDKSessionManager.sharedInstance().session
}) { (error) -> Void in
print("Error: \(error)")
}
}
单击LinkedIn登录按钮后,我将重定向到LinkedIn应用程序并要求获得许可。在LinkedIn应用程序中按“确定”后,我被重定向回我的应用程序,但Xcode的控制台中未打印任何内容。我还尝试过这样显示警报:
let alertController = UIAlertController(
title: "Login error",
message: (message),
preferredStyle: UIAlertControllerStyle.alert)
alertController.addAction(UIAlertAction(
title: "OK",
style: UIAlertActionStyle.default,
handler: nil))
self.present(alertController, animated: true, completion: nil)
,但它也没有出现。似乎未调用createSession的成功或错误回调。有人知道为什么吗?