0

最新のFacebookSDKを使用して、IOS用のアプリを開発しています。

ポイントは、ユーザーが画像と一緒にメッセージを壁に投稿できるようにすることです。

FBSession.openActiveSessionWithReadPermissionを使用して接続を確立しています。その後、アプリはFBNativeDialogsを使用して投稿することを想定しています。しかし、なぜこの結果が得られるのかよくわかりません:http: //img90.imageshack.us/img90/4623/screenshot2013030510421.png

ログインUIは、許可を求めてくると思いますね。代わりに、空白のページしか表示されません。openActiveSessionのcompletionHandlerも呼び出されません。これは、loginUIがアプリに戻らないことを示しています。

私はFacebookの統合にかなり慣れていません。助けてください。

次のコードを使用して接続を確立しています。バンドルIDとアプリIDはすでにFacebookアプリコンソールに保存されています。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    [FBSession openActiveSessionWithReadPermissions:nil
                                   allowLoginUI:YES
                              completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
                                  [self sessionStateChanged:session state:state error:error];
                              }];

}

この手順により、上記の空白のログインUIが表示され、completionHandlerが呼び出されません。

公開権限を取得し、ネイティブダイアログを使用してメッセージを投稿する他の手順がありますが、この手順に合格できないため、それらを含める必要はないと思います。

4

2 に答える 2

0

Facebookの設定を確認したところ、サインインすらしていなかったことがわかりました。長い間、サインインしたと思っていたのですが、それが非常に苦痛でした...

于 2013-03-16T14:38:27.200 に答える
0

Facebook のチュートリアル openActiveSessionWithReadPermissions:allowLoginUI:completionHandler: は、openSession メソッドの appDelegate で呼び出され、そのメソッドはログイン ボタンによって起動されます。viewDidLoad のビュー コントローラーから呼び出しています。ビューの読み込みではなく、実際にはボタンで起動する必要があります。次のようなことを試しましたか:

- (IBAction)performLogin:(id)sender{

SCAppDelegate* appDelegate = [UIApplication sharedApplication].delegate;
[appDelegate openSession];

openActiveSessionWithReadPermissions: デリゲートの openSession メソッドに実装されていますか? また、コードをさらに投稿することもできます。

于 2013-03-05T03:49:37.577 に答える