2012-08-25 8 views
8

Heute begann ich Facebook SDK 3.0 for iOS zu verwenden, und ich erkannte, dass es keine FBDialog Klasse mehr gibt. Ich habe gesucht developers.facebook.com für einige Tutorials, wie ich Feed-Dialog mit neuen SDK anzeigen kann.Facebook iOS SDK 3.x Feed-Dialog ist weg?

Früher haben wir schreiben:

[facebook dialog:@"feed" andParams:params andDelegate:self]; 

Aber es scheint, dass alle über Dialoge sprechen Tipps zum alten SDK in developers.facebook.com verwandt sind.

Hat jemand Feeddialog mit neuem SDK implementiert?

Oder sollten wir bauen unser eigenes DialogViewController alle UI-Elemente wie Textfelder darzustellen, senden Taste, um FBRequest zu machen?!

Antwort

13

Ich habe hier die Antwort gefunden:
Feed Dialog - Facebook Developers

das gleiche neue SDK 3.x verwenden wir veraltet Header in Frameworks hinzufügen:

enter image description here

enter image description here

und Veränderung :

#import <FacebookSDK/FacebookSDK.h>

zu

#import "Facebook.h"


EDIT (26.02.2013):

Dank Andreas erwähnte er in Kommentar, neue SDK 3.2 Verwendung erforderlich macht nicht enthalten veraltete Klassen mehr:

Verbesserte Webdialogunterstützung: Diese Version fügt Unterstützung für die Integration von Webdialogen, feed dialog und requests dialog hinzu, ohne dass die veralteten Header aufgerufen werden. So können Dialoge einfacher in Ihrer App hinzugefügt werden.

Beispiel:

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
    @"", @"name", 
    @"", @"caption", 
    @"", @"description", 
    @"https://website.com/share", @"link", 
    @"http://website.com/iossdk_logo.png", @"picture", 
    nil]; 
[FBWebDialogs presentFeedDialogModallyWithSession:nil 
             parameters:params 
              handler: 
     ^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { 
      if (error) { 
       // Error launching the dialog or publishing a story. 
       NSLog(@"Error publishing story."); 
      } else { 
       if (result == FBWebDialogResultDialogNotCompleted) { 
        // User clicked the "x" icon 
        NSLog(@"User canceled story publishing."); 
       } else { 
        // Handle the publish feed callback 
       } 
      } 
     }]; 
+1

Gibt es keine neue Möglichkeit, ein Dialogkonzept aufzurufen, das nicht veraltet ist? Ich bin persönlich in Ordnung, meinen eigenen Code zu massieren, um mit ihren neueren Techniken zu arbeiten, aber ich möchte immer noch eine Vorschau sehen, was von meiner App eingereicht werden soll. – Joey

+1

@Joey Facebook empfiehlt die oben beschriebene Vorgehensweise. Ich denke, es ist der einzige Weg. –

+0

Wer weiß, bis wann wird das verfügbar sein? – Oscar

3

Mit Facebook SDK 3.2, brauchen Sie keine veraltete Header mehr zu importieren. Webbasierte Dialoge können mit der Klasse FBWebDialogs dargestellt werden:

[FBWebDialogs presentFeedDialogModallyWithSession:nil parameters:params handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { 
    // ... 
}];