8

Xcode7 を使用して、Facebook SDK をポッド FBSDKShareKit (4.6.0) にアップグレードします。そして、以下のように Facebook スキームを WhiteList に追加しました。参照: https://developers.facebook.com/docs/ios/ios9

<key>LSApplicationQueriesSchemes</key>
<array>
        <string>fbapi</string>
        <string>fb-messenger-api</string>
        <string>fbauth2</string>
        <string>fbshareextension</string>
</array>

ただし、次のコードは、iOS9 で iOS の既定のソーシャル ダイアログのみを表示します。iOS8 で同じバイナリの同じコードを使用すると、Facebook アプリを開き、共有ダイアログを適切に表示できます。

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.example.com"]];
content.contentDescription = @"Test";
[FBSDKShareDialog showFromViewController:self withContent:content delegate:nil];

iOS9 では Facebook アプリが見つからず、デフォルトのソーシャル ダイアログが表示されると思います。エラーメッセージも表示されませんでした。

私は何かが恋しいですか?それともiOS9のバグ?

4

2 に答える 2

1

以下のiOS 9では、Facebookアプリがデバイスにインストールされているかどうかを検出するために機能した唯一のソリューションです。

 NSString *urlString = @"fbapi://";
    NSURL *url1 = [NSURL URLWithString:urlString];

    if ([[UIApplication sharedApplication] canOpenURL:url1]) {
        [[UIApplication sharedApplication] openURL:url1];
    }
    else {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itunes link for download app"]];
    }
于 2016-08-26T06:16:29.730 に答える