4

私は現在、アプリをまとめようとしています - その基礎は (うまくいけば) Facebook iOS SDK 3.0 チュートリアルに基づいて構築されています。

私がフォローしているチュートリアルは、http: //developers.facebook.com/docs/tutorials/ios-sdk-tutorial/authenticate/にあります。

最終リリースになると、Facebook のさまざまな SDK バージョン全体でいくつかの変更があることがわかりました。

ただし、コードがコンパイルされる前に、最後の問題が 1 つあります。

「セレクター 'sessionOpenWithPermissions:completionHandler:' の既知のクラス メソッドはありません」

このエラーは、次のコードを参照しています。

- (void)openSession
{
    [FBSession sessionOpenWithPermissions:nil completionHandler:
     ^(FBSession *session, FBSessionState state, NSError *error) {
         [self sessionStateChanged:session state:state error:error];
     }];    
}

Xcode で FBSession.h ファイルを見ると、sessionOpenWithPermissions.

誰でもこれに関して私を助けてもらえますか? 私は Objective-C/Xcode を初めて使用し、試行錯誤しながら学習しています。

4

2 に答える 2

3

同じ問題に遭遇し、以下の変更でコードが機能するようになりました。

//REPLACE
[FBSession sessionOpenWithPermissions:nil
                    completionHandler: ^(FBSession *session, FBSessionState state, NSError *error) {
                        [self sessionStateChanged:session state:state error:error];
                    }];

//WITH
[FBSession openActiveSessionWithPermissions:nil
                               allowLoginUI:YES
                          completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
                              [self sessionStateChanged:session state:state error:error];
                          }];

メソッドを Alt クリックすると、渡すパラメータに関する詳細情報が表示されます。 openActiveSessionWithPermissions オプション

于 2012-08-18T21:52:07.993 に答える
0

ドキュメントにバグがあるようです。API 変更ログによると、そのクラス メソッドは置き換えられています。

FBSession クラス メソッド sessionOpenWithPermissions:completionHandler: が削除されました。代わりに、新しい openActiveSessionWithPermissions:allowLoginUI:completionHandler: クラス メソッドを使用してください。

API 変更ログ URL

于 2012-08-13T17:18:45.023 に答える