<分区>
<分区>
我正在使用 LinkedIn SDK 并尝试通过 LinkedIn 进行身份验证,但我没有收到从 LinkedIn 到我的应用程序的回调。我正在使用以下代码
[LISDKSessionManager createSessionWithAuth:[NSArray arrayWithObjects:LISDK_BASIC_PROFILE_PERMISSION, LISDK_EMAILADDRESS_PERMISSION, nil]
state:nil // @"some state"
showGoToAppStoreDialog:YES
successBlock:^(NSString *returnState) {}
errorBlock:^(NSError *error) {}];
我在 Info.plist 中使用了正确的 appId
,并且我的所有包都添加到了 LinkedIn 开发中心。我也尝试过使用不同版本的 SDK。
最佳答案
这可能是微不足道的,但在你的问题中,你实际上并没有在你的回调 block 中做任何事情,你只是传递了一个空 block 。
在成功 block 中,检查 [[LISDKSessionManager sharedInstance] session]
是否存在有效的用户 session 。在错误 block 中,检查错误对象的描述并在必要时提醒用户:
[LISDKSessionManager
createSessionWithAuth:[NSArray arrayWithObjects:LISDK_BASIC_PROFILE_PERMISSION, nil]
state:nil
showGoToAppStoreDialog:YES
successBlock:^(NSString *returnState) {
NSLog(@"Success!");
LISDKSession *session = [[LISDKSessionManager sharedInstance] session];
}
errorBlock:^(LISDKAuthError *error) {
NSLog(@"Error: %@", [error localizedDescription]);
}
];
发生这种情况的更多潜在原因:
您的应用没有正确设置应用传输安全。在 Info.plist 的 NSAppTransportSecurity 设置中将 NSAllowsArbitraryLoads
设置为 true 或将 LinkedIn URL 列入白名单:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>linkedin.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
还要确保将 LinkedIn 的 URL 方案列入白名单:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>linkedin</string>
<string>linkedin-sdk2</string>
<string>linkedin-sdk</string>
</array>
关于ios - iOS LinkedIn SDK 没有回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33731557/
相关文章:
ios - 将 PasswordField 设置为 secureTextEntry 给我一个奇怪的行为
ios - 'tm' 的定义必须在需要之前从模块 'Darwin.C.time' 导入
android - 使用 Android FileProvider 将照片和视频保存到图库
javascript - EPSON T20iii ePOS JavaScript SDK 超时问题(可能是 SSL 问题)
ios - Swift:cellForRowAtIndexPath 中出现意外结果
c - 无法将 C 代码链接到 Objective C : Undefined symbols for architecture arm64