0

Facebook sdkをアプリに実装しようとしていますが、壁への書き込み/フィードポップアップの表示に問題があります。アプリからFacebookに正常にログインできます。まず、ネイティブのFacebookアプリに移動します。承認すると、デフォルトのアプリに戻り、何も起こりません。ダイアログボックスが表示されず、作成した空のビューだけが表示されます。これは私のコードです。なぜこれが機能しないのか誰かが知っているなら、助けていただければ幸いです。

ありがとう

fbViewController.h

#import <UIKit/UIKit.h>
#import "FBConnect.h"

@interface fbViewController : UIViewController <UIApplicationDelegate,FBSessionDelegate,FBDialogDelegate>
{
 Facebook *facebook;
}

@property (nonatomic, retain) Facebook *facebook;
@end

fbViewController.m

#import "fbViewController.h"
#define kAppId @"xxxxxxx"

 - (void)viewDidLoad
{
[super viewDidLoad];

facebook = [[Facebook alloc] initWithAppId:@"xxxxxxxxxxx" andDelegate:self];

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"] 
    && [defaults objectForKey:@"FBExpirationDateKey"]) {
    facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
    facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}

if (![facebook isSessionValid]) {
    [facebook authorize:nil];
}

}

 - (void)fbDidLogin {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];


NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               kAppId, @"app_id",
                               @"http://developers.facebook.com/docs/reference/dialogs/", @"link",
                               @"http://fbrell.com/f8.jpg", @"picture",
                               @"Facebook Dialogs", @"name",
                               @"Reference Documentation", @"caption",
                               @"Using Dialogs to interact with users.", @"description",
                               nil];

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

  }

myAppDelegate.m

// Pre iOS 4.2 support
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
   return [facebook handleOpenUrl:url];
  }

// For iOS 4.2+ support
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [facebook handleOpenURL:url]; 
 }
4

2 に答える 2

0

私はしばらくこれに苦労しました。これは、整理しようとして投稿したSOの質問です。dmirkitanov が回答で提案しているテストを実装する価値があるかもしれません。これは、Hackbook アプリ (facebook-ios-sdk で入手できるもの) の外にあります。

簡単に言えば、私がしなければならなかったことは、Facebook 開発者サイトからアプリを削除し、iTunes ストアから削除し、両方の最初からやり直して、コードで新しいアプリ ID 情報などを使用することでした。Facebook側での登録方法に問題があったと思います。

于 2012-05-23T02:05:31.350 に答える
-1

AppIdが正しくないようです。別のアプリIDを使用して確認してください

1)情報-> FacebookAppIDは、コード内のこのアプリIDと同じです

于 2012-05-22T23:20:53.263 に答える