Facebook SDK を最新の製品リリース (FacebookSDK-3.0.8.pkg - Facebook SDK 3.0 for iOS (update 1) [2012 年 8 月 21 日]) にアップグレードしようとすると問題が発生します。
このページのチュートリアルに従っています。
コードを機能させようとしていくつかの問題に遭遇しました。チュートリアルで宣言されているほど簡単ではありません。セッションを開くことはできますが、リクエストを機能させることができません。
- (IBAction)facebookTapped:(id)sender {
[FBSession openActiveSessionWithPermissions:nil allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
if(error) {
NSLog(@"Error opening session: %@", error);
return;
}
if(session.isOpen) {
NSLog(@"session is open");
FBRequest *me = [FBRequest requestForGraphPath:@"me"];
[me startWithCompletionHandler:^(FBRequestConnection *connection,
NSDictionary<FBGraphUser> *my,
NSError *error) {
NSLog(@"My name: %@", my.first_name);
}];
}
}];
}
FBRequest requestforGraphpath への呼び出しを削除すると、セッションが開いていることがコンソールに表示されます。そのままにしておくと、「'void(^)(struct FBRequestConection , struct NSDictionary , struct NSError*)' を初期化する互換性のないブロック ポインタ タイプです。'FBRequestHandler' が必要です」というエラーが表示されます。
ここで困惑したのは、これがチュートリアルに示されているコードとまったく同じであることです。ただし、[FBRequest requestForMe] を変更してさまざまなアプローチを試みました。どれも機能しませんでした。
誰かが私のためにこれに光を当てることができますか?
ありがとうございました。