1

Facebookにメッセージを投稿するためにDEFacebookComposeViewControllerを使用しています。iOS5 を使用している場合、ユーザーはログインのために facebook ページにリダイレクトされ、その後アプリに戻ります。これはうまく機能します。しかし、iOS6 では、サービス API は、オプション「設定」または「キャンセル」を示す UIAlertView を表示します。

ここに画像の説明を入力

問題は、ボット ボタンが同じ効果を持つことです。どちらもダイアログをキャンセルします (こちらの「FacebookSample」でも発生しています)。

一方、Tweeter フレームワークは iOS 5 と 6 の両方で正常に動作します。Tweeter アカウントが構成されていない場合にアラートが表示され、[設定] ボタンをクリックすると [アカウントの追加] 画面が表示されます。

すべてのアイデアを歓迎します。

ありがとう

PD: シミュレーター内のすべてのテスト。

編集:

これは私が使用しているコードです:

DEFacebookComposeViewController *facebookComposer = [[DEFacebookComposeViewController alloc] init];
            [facebookComposer setInitialText:@"Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test"];

            __block id weakSelf = self;
            [facebookComposer setCompletionHandler:^(DEFacebookComposeViewControllerResult result) {
                [weakSelf dismissModalViewControllerAnimated:YES];
            }];

            [self presentModalViewController:facebookComposer animated:YES];
            [facebookComposer release];

そして、これはDEFacebookComposeViewControllerクラスの重要な部分です。

- (id)init
{
    if ([[UIDevice currentDevice].systemVersion floatValue] >= 6) {
        self = [(DEFacebookComposeViewController*)[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook] retain];
        return self;
    }

    self = [super init];
    if (self) {
        [self facebookComposeViewControllerInit];
    }
    return self;
}

そこには。iOS のバージョンが 6 の場合、初期化メソッドが返さ[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]れます。これは、Facebook と対話するバニラ iOS6 の方法です。

4

1 に答える 1

1

iOS6、特にiOS6でAppleが公式に提供しているソーシャルフレームワークを使用してみませんか?

元:

SLComposeViewController
 *viewController
  = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];


[self presentViewController:viewController animated:YES completion:nil];
于 2012-10-19T18:57:54.123 に答える