0

友人の Facebook ウォールに投稿するコードがいくつかありました。Open Graph を介してこれを非推奨にしたときに、非推奨のヘッダーと Facebook ダイアログを使用して投稿にユーザーを含めるように変更しました。それは何週間も機能していましたが、本番アプリケーションでは機能しなくなったようです (火曜日は正常に機能し、水曜日は失敗しました) (つまり、コードの変更や再ビルドはありません)。

あらゆる種類のことを試すのに何時間も費やしました (メイン スレッドでの実行、セッションがライブであることのアサート、SDK 3.2 への再書き込み、アプリのアンインストール/再インストール、ダイアログ タイプの完全な変更とコンテンツの投稿)。ダイアログをすぐに閉じます。[注: 私たちのアプリには開発者からの警告はなく、アプリの設定も変更されていないと思います。]

これがコードです。facebookManager の "performConnectedAction" は、アクティブなセッションを確保するための Facebook サンプルからのものです (そして、私は問題なしでそれを主張します)。

NSMutableDictionary *wallPost = [NSMutableDictionary dictionary];

  // Content populating not show (and I've tried various simplifications)

// Who to...
[wallPost setObject:_selectedUser.id forKey:kFB_FIELD_TO];

[facebookManager performConnectedAction:^{
    FBSession *facebookSession = facebookManager.facebookSession;
    Assert( facebookSession.isOpen, @"Need an open Facebook session.");

    [FBWebDialogs presentFeedDialogModallyWithSession:facebookSession parameters:wallPost handler:^(FBWebDialogResult result, NSURL *resultURL,NSError *error) {
        if ( !!error ) {
            [self logEventWithFormat:@"Failed to invite on Facebook [%@]", error];
        }
    }];
}];

基本的に...ダイアログが上下に点滅するだけでなく、コールバックが提供されません (エラーや結果は提供されません)。Facebook アプリケーションの他のすべての部分は引き続き動作します (グラフ呼び出し、Facebook の友達ダイアログなど) .)

これをさらに調査する方法についての考えをいただければ幸いです。バグレポートを提出しました:

http://developers.facebook.com/bugs/165456656937602?browse=search_5130e2d7663dd6543665811

4

1 に答える 1

1

同じ問題があり、このようにメソッド呼び出しを遅らせることで修正しました。私の方法はfbWallPost

[self performSelector:@selector(fbWallPost) withObject:nil afterDelay:0.5];
于 2013-03-24T06:32:29.753 に答える