8

今日、私はiOS用のFacebook SDK 3.0を使い始めましたが、FBDialogクラスがもうないことに気づきました。新しいSDKを使用してフィードダイアログを表示する方法について、 developers.facebook.comでいくつかのチュートリアルを検索しました。

以前は次のように書いていました。

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

ただし、ダイアログについて説明しているすべてのヒントは、developers.facebook.comの古いSDKに関連しているようです。

誰かが新しいSDKでフィードダイアログを実装しましたか?

または、すべてのUI要素をtextFieldsとして表す独自のツールを作成する必要がある場合は、 FBRequestDialogViewControllerを作成するためにボタンを送信しますか?!

4

2 に答える 2

13

私はここで答えを見つけました:
フィードダイアログ-Facebook開発者

同じ新しいSDK3.xを使用して、非推奨のヘッダーをFrameworksに追加する必要が

ここに画像の説明を入力してください

ここに画像の説明を入力してください

あります。

#import <FacebookSDK/FacebookSDK.h>

#import "Facebook.h"


編集(26.02.2013):

Andreasのおかげで、彼はコメントで述べました。新しいSDK 3.2を使用するために、廃止されたクラスを含める必要はありません。

Webダイアログのサポートの改善:このリリースでは、非推奨のヘッダーを呼び出さずに、Webダイアログ、フィードダイアログ、およびリクエストダイアログを統合するためのサポートが追加され、アプリへのダイアログの追加がよりクリーンで簡単になりました。

例:

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
                 }
             }
        }];
于 2012-08-25T13:09:22.530 に答える
3

Facebook SDK 3.2では、廃止されたヘッダーをインポートする必要がなくなりました。Webベースのダイアログは、FBWebDialogsクラスを使用して表示できます。

[FBWebDialogs presentFeedDialogModallyWithSession:nil parameters:params handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
    // ...
}];
于 2013-02-26T15:02:56.227 に答える