2013-12-09 266 views
0

我在我的應用程序中使用此方法presentShareDialogWithLink分享facebook鏈接。當用戶點擊facebook應用程序中的帖子時,這會自動打開我的應用程序,那時我想要獲取用戶在Facebook應用程序中點擊的URL。我如何獲得該網址,以及我會在哪裏獲得該網址?如何在通過Facebook啓動應用程序時獲取URL?

回答

0

您可以通過方法handleOpenURL在AppDelegate中

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { 

    /* Do something with the url */ 
} 
+0

感謝,但我可以解析此網址是什麼?因爲它有很多東西,比如FBID授權和訪問令牌,然後是url。我怎樣才能解析我的網址? – Mashhadi

+0

使用你的邏輯來解析url。看看這個[link](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/instm/NSString ) –

0

獲取URL如果您在本期間成立了一個處理程序*通話,是這樣的:

[FBDialogs presentShareDialogWithLink:url 
           handler:^(FBAppCall *call, NSDictionary *results, NSError *error) { 
    if(error) { 
     NSLog(@"Error: %@", error.description); 
    } else { 
     NSLog(@"Success!"); 
    } 
}]; 

然後在你的AppDelegate,覆蓋應用程序:openURL:sourceApplication:註釋:方法:

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

    BOOL urlWasHandled = [FBAppCall handleOpenURL:url 
           sourceApplication:sourceApplication 
            fallbackHandler:^(FBAppCall *call) { 
             NSLog(@"Unhandled deep link: %@", url); 
            }]; 

    return urlWasHandled; 
} 

然後您的處理程序s應該得到一個回調。

欲瞭解更多信息,請參閱https://developers.facebook.com/docs/ios/share-dialog/,尤其https://developers.facebook.com/docs/ios/share-dialog/#handling-responses

相關問題