簡體   English   中英

ios中的Linkedin SDK問題

[英]Linkedin SDK issue in ios

我在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 app獲得回調

確保您使用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

分別為sourceApplication和annotation使用options[UIApplicationLaunchOptionsSourceApplicationKey]options[UIApplicationLaunchOptionsAnnotationKey]

例:

- (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;

}

您的代碼只是正確的,但您的問題與URL方案有關...


在您的info.plist文件中添加相同的URL方案,您在“ iOS URL后綴方案 ”中提到了這一點,這樣一旦linkedIn將調用相同的URL方案,您可能在應用程序中使用了錯誤的URL方案。

在此輸入圖像描述

URL方案只是一個打開您的應用程序的鏈接。 如果您在移動safari中輸入您的URL方案,即

testApp://

它會打開你的應用程序(如果已安裝)。 使用以下過程,您可以將其添加到項目中

右鍵單擊info.plist並選擇Open As - 源代碼

在此輸入圖像描述

右鍵單擊info.plist並選擇Show Raw Keys / Values ,輸出結果如下:

在此輸入圖像描述

檢查鏈接以獲取更多詳細信息以添加自定義URL方案

問題解決了

    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
        }

您是否將LIAppId屬性添加到Info.plist中?

您是否已將所有捆綁包添加到LinkedIn開發者的iOS中心? 如果沒有,請復制您的軟件包ID並將其添加到https://www.linkedin.com/developer/apps/APP_ID/mobile,並且不要忘記保存

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM