2011-11-26 8 views
5

मैं इसे खोजने के लिए संघर्ष कर रहा हूं। क्या मैं एफबीडीअलॉग में एक यूआरएल खोल सकता हूं या एफबीसी कनेक्ट में कुछ इस्तेमाल कर सकता हूं। मैंने इसे निम्नलिखित की तरह करने की कोशिश की। लेकिन ऐसा लगता है कि यह काम नहीं कर रहा है।क्या मैं एक एफबीडीअलॉग में एक यूआरएल (एक फेसबुक पेज) खोल सकता हूं या एफबीसी कनेक्ट में कुछ कर सकता हूं?

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

मुझे यह भी पता नहीं है कि यह संभव है या नहीं। क्या आप कृपया मेरी मदद कर सकते हैं?

+0

मुझे लगता है कि आप सिर्फ संवाद दृश्य का पुन: उपयोग करना चाहते हैं? –

+1

एमएम मुझे नहीं पता कि पुन: उपयोग सही शब्द है या नहीं, लेकिन मैं सिर्फ UIWebView में एक खोलने के रूप में एक यूआरएल खोलना चाहता हूं। – EmptyStack

उत्तर

3

आपके कोड से आपको रोकने के लिए 2 समस्याएं हैं। सबसे पहले, जब आप url को -loadURL पास करते हैं: प्राप्त करें: विधि, फेसबुक आईओएस एसडीके आपके असली यूआरएल आधार का पुनर्निर्माण करें। तो, आपके द्वारा पारित यूआरएल अंततः वेबव्यू में नहीं मिलेगा।

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

दूसरी समस्या यह है कि आप

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

प्रतिनिधि विधि को हैक करने की जरूरत है और एक साथ बदल दिया आप कार्यान्वयन करना: आपको क्या करने की जरूरत है इस तरह FBDialog.m में एक विधि को लागू है । लेकिन आदेश मूल फेसबुक एसडीके काम करता है रखने के लिए, आप -loadURL भीतर FBDialog.m

_webView.delegate = self; 

लिए नीचे दिए गए कोड को जोड़ने की आवश्यकता: मिलती है: विधि, और इस लाइन से पहले

[_webView loadRequest:request]; 

अंत में, आप अपनी कक्षा में

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

अपने आप को लागू करने की जरूरत है, और प्रयोग

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

जो आप चाहते थे उसे करने के लिए।

संबंधित मुद्दे