Parse SDKを使用してapprequests
、アプリにFacebookダイアログを実装しています。すべての目的と目的で、Facebook SDKをラップし、Facebookメソッドの前に。を付けPF_
ます。
このコードを使用して、ダイアログを準備して表示します。
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: [NSString stringWithFormat:@"I just challenged you to a game!"], @"message",
[friendIds componentsJoinedByString:@"," ], @"to",
nil];
PF_FBSession *session = [PFFacebookUtils session];
PF_Facebook *facebook = [[PF_Facebook alloc] initWithAppId:session.appID andDelegate:nil];
facebook.accessToken = session.accessToken;
facebook.expirationDate = session.expirationDate;
[facebook dialog:@"apprequests" andParams:params andDelegate:self];
これはうまく機能し、ダイアログが表示され、友達を招待してアプリで遊ぶことができます。
PF_FBDialogDelegate
問題は、View Controllerを:として設定したにもかかわらず、デリゲートメソッドが呼び出されないことです。
@interface ChallengeFriendsViewController : UIViewController <UITableViewDelegate, PF_FBDialogDelegate> {
NSArray *facebookFriends;
NSMutableArray *selectedFriends;
}
これらは私が話しているデリゲートメソッドの一部です:
- (void)dialog:(PF_FBDialog *)dialog didFailWithError:(NSError *)error {
NSLog(@"Error in Dialog: %@", error);
}
- (void)dialogDidNotCompleteWithUrl:(NSURL *)url {
NSLog(@"Failure on Facebook server side");
}
- (void)dialogCompleteWithUrl:(NSURL *)url {
NSLog(@"Did complete with URL");
[self.navigationController popViewControllerAnimated:YES];
[MBProgressHUD hideAllHUDsForView:self.view animated:YES];
}
- (void)dialogDidNotComplete:(PF_FBDialog *)dialog {
NSLog(@"Cancelled");
[MBProgressHUD hideAllHUDsForView:self.view animated:YES];
}
これらのメソッドが呼び出されないと、直感的な方法で共有を処理することはできません。なぜ彼らが呼ばれないのかと困惑し、私はすべてを試したと感じています。私が間違っているところへのポインタはありますか?