読んでくれてありがとう!
ユーザーが友達をアプリに招待できるようにする Facebook リクエストを作成しようとしています。
NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys:nil];
[FBWebDialogs
presentRequestsDialogModallyWithSession:nil
message:@"Learn how to make your iOS apps social."
title:@"Test"
parameters:params
handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
if (error) {
// Error launching the dialog or sending the request.
NSLog(@"Error sending request.");
} else {
if (result == FBWebDialogResultDialogNotCompleted) {
// User clicked the "x" icon
NSLog(@"User canceled request.");
} else {
// Handle the send request callback
NSDictionary *urlParams = [self parseURLParams:[resultURL query]];
if (![urlParams valueForKey:@"request"]) {
// User clicked the Cancel button
NSLog(@"User canceled request.");
} else {
// User clicked the Send button
NSString *requestID = [urlParams valueForKey:@"request"];
NSLog(@"Request ID: %@", requestID);
}
}
}
}];
}
これは、Facebook のドキュメント コードのほぼ完全なコピーです。そして、それはある程度まで機能します。ユーザーは友達を選択でき、リクエストは消えて友達に受信され、通知として表示されます-これまでのところすべて問題ありません.
問題は、「ハンドラー」からの応答を取得しようとすると、resultURL
nil で何も含まれていないことです。その後、「ユーザーがリクエストをキャンセルしました」というログメッセージが表示されます。
なぜ私は何も返さないのですか?これが必要な主な理由は、リクエストが送信された友人を知る必要があるためです。
助けてくれてありがとう!