Flutter Flatter url_launcher在安装的应用程序(Facebook)中打开Facebook链接,但在IOS中,它只打开Facebook而不打开链接

Flutter Flatter url_launcher在安装的应用程序(Facebook)中打开Facebook链接,但在IOS中,它只打开Facebook而不打开链接,flutter,dart,flutter-test,flutter-packages,flutter-ios,Flutter,Dart,Flutter Test,Flutter Packages,Flutter Ios,我使用了Url_启动程序包;如果Facebook应用程序安装了其他浏览器,我想在Facebook应用程序中打开Facebook链接。这在Android中很好地工作,但在IOS中它只打开Facebook应用程序,而不打开链接 代码是: 我的工作职能: void _launchSocial(String url, String fallbackUrl) async { // Don't use canLaunch because of fbProtocolUrl (fb://) try {

我使用了Url_启动程序包;如果Facebook应用程序安装了其他浏览器,我想在Facebook应用程序中打开Facebook链接。这在Android中很好地工作,但在IOS中它只打开Facebook应用程序,而不打开链接

代码是:

我的工作职能:

void _launchSocial(String url, String fallbackUrl) async {
  // Don't use canLaunch because of fbProtocolUrl (fb://)
  try {
    bool launched =
        await launch(url, forceSafariVC: false, forceWebView: false);
    if (!launched) {
      await launch(fallbackUrl, forceSafariVC: false, forceWebView: false);
      }
  } catch (e) {
    await launch(fallbackUrl, forceSafariVC: false, forceWebView: false);
  }
}
然后在onPressed或onTab中:

_launchSocial('fb://profile/408834569303957', 'https://www.facebook.com/dorockxl')
不要忘记将fbYOURPAGEID添加到Info.plist中的CbundleurlSchemes数组:

注意:您可以使用查找页面的id

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb408834569303957</string>
        </array>
    </dict>
</array>
顺便说一句,您可以对Twitter和Instagram使用此方法,而无需额外设置。Url足以打开这些本机应用程序:

_发动社会运动https://www.instagram.com/YOURNAME/",

_发动社会运动https://twitter.com/YOURNAME",

我的工作职能:

void _launchSocial(String url, String fallbackUrl) async {
  // Don't use canLaunch because of fbProtocolUrl (fb://)
  try {
    bool launched =
        await launch(url, forceSafariVC: false, forceWebView: false);
    if (!launched) {
      await launch(fallbackUrl, forceSafariVC: false, forceWebView: false);
      }
  } catch (e) {
    await launch(fallbackUrl, forceSafariVC: false, forceWebView: false);
  }
}
然后在onPressed或onTab中:

_launchSocial('fb://profile/408834569303957', 'https://www.facebook.com/dorockxl')
不要忘记将fbYOURPAGEID添加到Info.plist中的CbundleurlSchemes数组:

注意:您可以使用查找页面的id

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb408834569303957</string>
        </array>
    </dict>
</array>
顺便说一句,您可以对Twitter和Instagram使用此方法,而无需额外设置。Url足以打开这些本机应用程序:

_发动社会运动https://www.instagram.com/YOURNAME/",

_发动社会运动https://twitter.com/YOURNAME",


您是否编辑了iOS的info.plist文件?您必须为iOS设置URL方案,才能使深度链接正常工作。@DanyData不,我没有这样做,您可以与我共享任何重新添加该链接的链接吗。@DanyData我不明白。您可以使用其他链接或解决方案吗。您是否编辑了iOS的info.plist文件?您必须为iOS设置URL方案,才能使深度链接正常工作。@danypata不,我没有这样做,您可以与我共享任何重新添加该链接的链接吗。@danypata我不明白。您可以使用其他链接或解决方案吗。您使用哪个插件来启动URL?因为上面的代码给了我一个错误。错误:找不到方法:“launch”。我在Flatter 1.20.1上使用了url_launcher:^5.5.0。颤振是新的,所以版本可能会有很大的差异。您使用哪个插件来启动url?因为上面的代码给了我一个错误。错误:找不到方法:“launch”。我在Flatter 1.20.1上使用了url_launcher:^5.5.0。颤振是新的,所以版本可能会有很大的差异。