2013-11-28 37 views
2

我有一個iOS應用程序與Facebook SDK。我使用https://developers.facebook.com/docs/ios/ios-sdk-games/feed/的第一塊示例代碼幾乎逐字地將我的應用程序中的信息共享給FB。我只更改了示例代碼中的字符串和網址以適合我的應用。presentShareDialogWithParams張貼到FB牆,但回調處理程序結果說錯誤

雖然從我的應用程序的帖子就出現在我的Facebook牆上,一切看起來不錯,FBAppCall結果在我NSLog都這麼說,

錯誤出版的故事=錯誤域= com.facebook.sdk代碼= 11 「該 用戶導航從Facebook應用程序完成此 AppCall之前,這AppCall現在已取消路程,需要重試獲得 成功完成

我試圖使用FBAppCall結果讓在成功發送時,我可以觸發另一個網絡呼叫到我的後端,我可以記錄有關該事件的數據。奇怪的是,雖然我可以在牆上看到帖子,但「故事發布」的最終else條件未發生,error條件爲。

下面是再次右鍵從https://developers.facebook.com/docs/ios/ios-sdk-games/feed/

[FBDialogs presentShareDialogWithParams:shareParams 
           clientState:nil 
            handler:^(FBAppCall *call, NSDictionary *results, NSError *error) { 
             if(error) { 
              NSLog(@"Error publishing story = %@.", error); 
              NSLog(@"result = %@.", results); 
             } else if (results[@"completionGesture"] && [results[@"completionGesture"] isEqualToString:@"cancel"]) { 
              NSLog(@"User canceled story publishing."); 
             } else { 
              NSLog(@"Story published."); 
              self.shareMethod = @"Facebook"; 
              [self recordSharingDataAtParse:self.shareMethod]; 
             } 
            }]; 

最後一個音符是實際FBAppCall:我不認爲這可能是原因,但我的FB應用程序是在「沙箱」模式目前。

更新:我發現此類似帖子FBDialogs presentShareDialogWithParams succeeds but error gets returned,並在應用程序控制臺中禁用了「Install Insights」&「Mobile SDK Insights」。不幸的是,這並沒有解決我的問題。

謝謝。

回答

0

我不確定Error Domain=com.facebook.sdk Code=11,但您必須檢查您在Facebook上的應用設置,以及一些遷移禁用了最後三個選項(2012年7月,2012年8月突破性更改)。

:)

0

當你遇到這樣的錯誤,你將需要處理的應用程序委託的響應。

- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation 
{ 
    return [FBAppCall handleOpenURL:url 
        sourceApplication:sourceApplication 
        fallbackHandler:^(FBAppCall *call) { 
         if (call.appLinkData && call.appLinkData.targetURL) { 
          // Invoke pending callback. 
         } 
        }]; 
} 

當用戶完成的動作,通話將包含從帖子的所有信息:

<FBAppCall: 0x147274f0, ID: 62FA2382-B557-45D5-8ACA-FE4C7516F861 
dialogData: <FBDialogsData: 0x14727490, method: share 
arguments: { 
    dataFailuresFatal = 0; 
    description = "After years of captivity, Angry Goat is finally free!"; 
    link = "http://appstore.com/berrycrush"; 
    name = "Unlocked Angry Goat"; 
    picture = "http://example.com/angry-goat.png"; 
} 
results: { 
    completionGesture = post; 
    didComplete = 1; 
}> 
>