2013-10-22 47 views
0

我想運行一個Facebook提供的開放圖行動的例子,但沒有任何反應。 調試時,我看到該動作已創建,但是在[FBDialogs presentShareDialog ...]中,它只是跳過並跳轉到該函數的末尾。你爲什麼認爲這是?我讀了sharedialog不能在IOS模擬器中運行,但不應該產生錯誤或什麼?或者,如果我在模擬器上運行它應該什麼都不會發生?打開圖行動

-(IBAction)ShareFB:(id)sender{ 
id<FBOpenGraphAction> action = (id<FBOpenGraphAction>)[FBGraphObject graphObject]; 
[action setObject:@"https://example.com/book/Snow-Crash.html" forKey:@"book"]; 

[FBDialogs presentShareDialogWithOpenGraphAction:action 
             actionType:@"books.reads" 
          previewPropertyName:@"book" 
         handler:^(FBAppCall *call, NSDictionary *results, NSError *error) { 
              if(error) { 
               NSLog(@"Error: %@", error.description); 
              } else { 
               NSLog(@"Success!"); 
              } 
             }]; 

參考文本:https://developers.facebook.com/docs/ios/share-dialog/#tips

+0

presentShareDialog ...方法要求Facebook應用程序存在。由於您無法在模擬器上安裝Facebook應用程序,因此無法使用。你可以用if(canPresent *){}檢查前面的*方法,並且如果canPresent返回NO,則選擇一些其他操作。 –

回答

0

我有零的iOS開發經驗,但它看起來像這個例子是使用自託管對象,這意味着打開圖形對象定義在一個指定的HTML標記被發現Facebook服務器提取並解析的特定URL。您的示例正在查找https://example.com/book/Snow-Crash.html

一些「書籍」對象例如,它看起來像一個簡單的URL,並且不包含任何實際的「圖書」的開放圖表屬性。 Facebook上提供了一個工具來讀取URL並查看Facebook關注Open Graph對象時的搜索結果:https://developers.facebook.com/tools/debug/og/object?q=https%3A%2F%2Fexample.com%2Fbook%2FSnow-Crash.html

基本上,您需要建立一個網站並在某個特定網址上定義對象特定的Meta標籤。請閱讀此處瞭解更多信息:https://developers.facebook.com/docs/opengraph/using-objects/

+0

好的,謝謝你的回覆,根據這個最近的facebook視頻,你不應該設置任何後端。 http://www.youtube.com/watch?v=lzL8uB9Je24我會做一些閱讀並回顧一下。 – djcj