2

[FBDialogs canPresentShareDialogWithParams:nil] を正しく動作させる人はいますか? それはいつも私にNOを返しています。params には何を入力すればよいですか?

    if ([FBDialogs canPresentShareDialogWithParams:nil]) {
    NSURL* url = [NSURL URLWithString:@"http://www.google.fr"];
    [FBDialogs presentShareDialogWithLink:url
                                  handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
                                      if(error) {
                                          NSLog(@"Error: %@", error.description);
                                      } else {
                                          NSLog(@"Success!");
                                      }
                                  }];
} else {
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
        SLComposeViewController *fbComposer = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
        [fbComposer setInitialText:@"Google rocks !"];
        [self presentViewController:fbComposer animated:YES completion:nil];
    } else {
        [[[UIAlertView alloc] initWithTitle:@"Informations" message:@"You have to be registered into the settings of your phone in order to share" delegate:nil cancelButtonTitle:@"Close" otherButtonTitles:nil] show];
    }
}
4

3 に答える 3

0

実際には、常にNOを返します。これが問題だと思います。

于 2013-06-24T09:18:43.250 に答える
0

FBShareDialogParams の非 nil インスタンスを canPresentShareDialogWithParams メソッドに渡すようにしてください。SDK は、FBShareDialogParmas の有効なインスタンスを受信することを想定しているため、SDK は、デバイス上の Facebook アプリのバージョンが、共有されるコンテンツを実際に開くことができることを確認できます。

たとえば、FB が iOS 上の Facebook アプリの将来のバージョンで共有ダイアログを介してビデオを共有するためのサポートを追加する場合、古いバージョンの Facebook アプリがデバイスに存在する場合、canPresentShareDialogWithParams は NO を返します。

ドキュメント: https://developers.facebook.com/ios/share-dialog/がここで混乱を招く可能性があることは理解できます (申し訳ありません!)。これを反映するように更新します。

フィードバックをお寄せいただきありがとうございます; それが役立つことを願っています!

于 2013-07-26T22:54:33.470 に答える