2011-11-26 11 views
5

Sto lottando per trovare questo. Posso aprire un URL in un FBDialog o usare qualcosa in FBConnect. Ho provato a farlo come il seguente. Ma non sembra funzionare.Posso aprire un URL (una pagina Facebook) in un FBDialog o qualcosa in FBConnect?

FBDialog *dlg = [FBDialog new]; 
[dlg loadURL:@"http://www.facebook.com/pages/Apple-Inc/137947732957611" get:nil]; 

Non so nemmeno se questo sia possibile o meno. Ragazzi, per favore aiutatemi?

+0

Suppongo che vogliate solo riutilizzare la finestra di dialogo a destra? –

+1

Mmm Non so se riutilizzare sia il termine giusto o meno, ma voglio solo aprire un URL così come aprirne uno in un UIWebView. – EmptyStack

risposta

3

Ci sono 2 problemi per impedirvi di accedere al vostro codice. Per prima cosa, quando passi un URL a -loadURL: get: metodo, Facebook iOS SDK ricostruisce la vera base dell'URL sul tuo. Quindi, l'url che hai passato non entrerà finalmente nella webview. Quello che dovete fare è implementare un metodo in FBDialog.m come questo:

-(void)hackLoadURL:(NSString*)url withDelegate:(id)delegate { 
    _webView.delegate = delegate; 
    [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]]; 
} 

Il secondo problema è che è necessario per incidere il metodo

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 

delegato e sostituito con quello di effettuare implementazione . Ma al fine di mantenere l'originale funziona Facebook SDK, è necessario aggiungere di seguito il codice per FBDialog.m

_webView.delegate = self; 

entro -loadURL: ottenere: il metodo, e prima di questa linea

[_webView loadRequest:request]; 

, infine, è necessario implementare

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 

voi stessi nella classe, e utilizzare

FBDialog *dlg = [FBDialog new]; 
[dlg hackLoadURL: yourExpectUrl withDelegate: self]; 

fare ciò che volevi.

Problemi correlati