ios - LinkedIn sdk iOS 错误,如果已经登录到 LinkedIn 应用程序
问题描述
我正在使用 iOS LinkedIn SDK 登录我的应用程序并检索基本配置文件。我第一次登录时一切正常,直到我注销或关闭我的应用程序。
在尝试使用 LinkedIn 重新登录我的应用程序时:通常重定向到 LinkedIn 应用程序,但我的应用程序的权限屏幕没有弹出,它只是直接重定向回我的应用程序,并出现以下错误:
Error Domain=LISDKAuthError Code=5 "(null)" UserInfo={errorDescription=操作无法完成。软件导致连接中止,originalDomain=LISDKServerError, errorInfo=PARSING_ERROR}
如果我先关闭 LinkedIn 应用程序,然后再重新打开我的应用程序,我才能再次成功登录。
请问有人知道发生了什么吗?
- 这不会发生在我所有的测试设备上!
- 在它确实发生的设备上,当运行 LinkedIn SDK 提供的示例应用程序时,我在该场景中也收到相同的错误。
-LinkedIn 应用程序是最新的。
- App id, bundle ids 等都设置好了,所以一半的时间登录成功!
-我试过在很多地方调用 [LISDKSessionManager clearSession]。
解决方案
我有一个类似的问题。它主要仅在 iOS 12 上重现。问题是当您已经运行了 LinkedIn 应用程序时,您将无法在您的应用程序中通过他们的 SDK 登录。在 iOS 11 上,您在此错误后第二次尝试登录时,授权工作正常。我通过简单地向用户显示一条警报来解决这个问题,其中包含一条关于他需要做什么来授权的消息。
在这里,您可以查看我在 Swift 4 中的实现示例:
LISDKSessionManager.createSession(withAuth: ["r_basicprofile"],
state: nil,
showGoToAppStoreDialog: true,
successBlock: { _ in
// Your actions in case of successful authorization
}, errorBlock: { error in
guard let nsError = error as NSError? else {
return
}
if #available(iOS 12.0, *),
nsError.code == LISDKErrorCode.SERVER_ERROR.rawValue {
// Show alert to user with text - "Please, shut down the LinkedIn app and try login again"
} else if nsError.code != LISDKErrorCode.USER_CANCELLED.rawValue {
// Handling when user tap on Cancel button in LinkedIn SDK
}
})
推荐阅读
- php - 在 Woocommerce 感谢页面上添加产品缩略图
- google-bigquery - BigQuery 在重复字段上连接表
- pdf - 如何使用 Ghostscript 对 pdf 文档进行每页更改?
- office365 - 如何在 SharePoint 中使用 Jquery 获取 Web 对象?
- c# - 如果应用程序由于未处理的异常或其他原因崩溃,FileStream 会发生什么?
- python - 将列表对象缩短为仅数字并在 Python 中创建新列表
- hibernate - Hibernate 提取错误数据类型的值
- python - 如何在 Python 中从非多部分电子邮件创建多部分电子邮件?
- selenium - 无法通过 winium.desktop.driver 在窗格内找到窗格。无法识别窗格内的元素
- android - 正在进行的通知未取消