【问题标题】:Linkedin SDK issue in iosios中的Linkedin SDK问题
【发布时间】:2016-01-04 14:22:10
【问题描述】:

我在 ios 中使用 Linkedin SDK。 我正在使用以下代码对用户进行身份验证

    [LISDKSessionManager createSessionWithAuth:[NSArray arrayWithObjects:LISDK_BASIC_PROFILE_PERMISSION, LISDK_EMAILADDRESS_PERMISSION, nil]
                                 state:nil//@"some state"
                                 showGoToAppStoreDialog:YES
                                           successBlock:^(NSString *returnState) {

                                           }
                                             errorBlock:^(NSError *error) {

                                             }
 ];

通过使用此代码,我可以打开linkedin 应用程序,但无法从linkedin 应用程序获取回调到我的应用程序。 不接电话

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

NSLog(@"%s url=%@","app delegate application openURL called ", [url absoluteString]);
if ([LISDKCallbackHandler shouldHandleUrl:url]) {
    return [LISDKCallbackHandler application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
}
return YES;

}

我在 URL Schemes 中使用“liMY_APPID”。也尝试从 LinkedIn iOS SDK Bundle Suffix 请帮助我如何从linkedin应用程序获得回调

【问题讨论】:

  • 你找到解决办法了吗?
  • 检查我的答案。我成功地重新爱上了它

标签: ios xcode linkedin linkedin-api


【解决方案1】:

确保您使用 iOS 9.0 或更高版本作为基础 SDK,因为

- (BOOL)application:(UIApplication *)application 
            openURL:(NSURL *)url 
  sourceApplication:(NSString *)sourceApplication 
         annotation:(id)annotation

已从 iOS 9 弃用。改为使用

- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary<NSString *,
                             id> *)options

options[UIApplicationLaunchOptionsSourceApplicationKey]options[UIApplicationLaunchOptionsAnnotationKey] 分别用于sourceApplication 和annotation。

示例:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
    if ([LISDKCallbackHandler shouldHandleUrl:url]) {
        return [LISDKCallbackHandler application:app openURL:url sourceApplication:options[UIApplicationLaunchOptionsSourceApplicationKey] annotation:options[UIApplicationLaunchOptionsAnnotationKey]];
    }
    return YES;

}

【讨论】:

    【解决方案2】:

    您的代码是正确的,但您的问题与 URL 方案有关...


    在您的 info.plist 文件中添加您在“iOS URL 后缀方案”中提到的相同 URL 方案,这样一旦linkedIn 将调用相同的 URL 方案,可能是您在应用中使用了不正确的 URL 方案。

    URL 方案只是一个打开应用程序的链接。如果您在移动 Safari 中输入您的 URL 方案,即

    testApp://

    它将打开您的应用程序(如果已安装)。使用以下过程,您可以将其添加到您的项目中

    右键单击您的info.plist 并选择打开方式 - 源代码

    右键单击您的info.plist 并选择显示原始键/值,输出将如下所示:

    查看链接了解更多详情以添加custom URL schemes

    【讨论】:

    • 是否只有Linkedin v1才有可能?
    【解决方案3】:

    问题已解决

        func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    
             if LISDKCallbackHandler.shouldHandle(url) {
                    LISDKCallbackHandler.application(app, open: url, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String, annotation: options[UIApplicationOpenURLOptionsKey.annotation])
                }
    
                return true
            }
    

    【讨论】:

      【解决方案4】:

      您是否将 LIAppId 属性添加到 Info.plist 中?

      【讨论】:

      • 如果您使用 url 方案后缀,请确保在 Info.plist 中指定它。键应该是“LISuffix”,值应该是后缀。另外,注册一个格式为 li- 的 url 方案
      【解决方案5】:

      您是否已将所有捆绑包都添加到 LinkedIn 开发中心 iOS 版?如果没有,请复制您的捆绑包 ID 并将其添加到 https://www.linkedin.com/developer/apps/APP_ID/mobile,并且不要忘记保存

      【讨论】:

      • 所有捆绑包条目都是正确的。并且给定的链接没有打开。
      • 我也有同样的问题。一切都已正确填写,但 LinkedIn 应用程序不会将控制权返回给我的应用程序。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-06
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多