0

Facebookを介してユーザーが自分のアプリにログインできるようにしようとしています。私はこのガイドに従っていますhttps://developers.facebook.com/docs/howtos/login-with-facebook-using-ios-sdk/

「iOS用FacebookSDKの使用を開始する」という名前の手順を含むすべての手順を実行しました。

次のメソッドをコピーして貼り付けると、ここでエラーが発生します。

 return [FBSession openActiveSessionWithPermissions:permissions

これが私がコピーして貼り付けた方法です。

    - (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {

NSArray *permissions = [[NSArray alloc] initWithObjects:
                        @"user_likes",
                        @"read_stream",
                        nil];

return [FBSession openActiveSessionWithPermissions:permissions
                                      allowLoginUI:allowLoginUI
                                 completionHandler:^(FBSession *session,
                                                     FBSessionState state,
                                                     NSError *error) {
                                     [self sessionStateChanged:session
                                                         state:state
                                                         error:error];
                                 }];
    }

エラーは次のようになります:「セレクターの既知のクラスメソッドがありません'openActiveSessionWithPermissions:allowLoginUI:completionHandler:'」

誰かが私が間違っていることを理解するのを手伝ってもらえますか?問題を理解するために私のコードをもう少し見たい場合はお知らせください。

4

3 に答える 3

2

FacebookのSDKを最新のものに更新し、すばらしい例に従ってください。

于 2012-08-24T08:15:03.477 に答える
0

これで問題が解決するかどうかは本当に疑わしいですが、一見の価値があります。NSErrorは通常、引数として渡される前にアンパサンド( "&")を取ります。error:&error代わりにそれを書いてください。

于 2012-08-18T20:20:55.637 に答える
0

mLamaaの回答を補完するために、Facebookアップグレードガイドを参照して、次の2つの手順に従ってください。

1-FacebookSDKを更新します

2-openActiveSessionWithPermissions関数をopenActiveSessionWithReadPermissionsに置き換えます

参照:

https://developers.facebook.com/docs/ios/upgrading/

3.0から3.1へのアップグレード

「したがって、アプリが以前にSDKのv3.0を使用していた場合は、openActiveSessionWithPermissions:allowLoginUI:completionHandler:の使用を削除し、openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:(またはさらに単純にopenActiveSessionWithAllowLoginUI)に置き換える必要があります。」

于 2014-02-20T12:55:16.983 に答える