Cansharevia在不应该的情况下调用成功回调-IOS 11.2



描述

当未安装Facebook应用程序时,Cansharevia方法应调用错误回调,该回调与运行iOS 10的iPhone5s完美工作。

当我在运行iOS 11.2的iPhone5S上测试它时,它始终在安装Facebook应用程序并未安装的情况下调用成功回调。

应用

Cordova移动应用

插件:https://github.com/eddyverbruggen/socialsharing-phonegap-plugin

设备信息

  • iPhone 5s
  • ios 11.2
  • Facebook应用程序:未安装

示例代码

window.plugins.socialsharing.canShareVia('com.apple.social.facebook', 'msg', null, null, null, 
function(success) {
   do some stuff....
}, function(error) {
   alert(error); 
});

请让我知道是否已找到任何工作。


更新

找到原因:

自ios11以来,此插件始终返回true。因此,我们可能需要另一种方法来检测是否安装了应用程序并可用。

使其与Cordova-Plugin-appabailability一起使用。

您可以以这种方式实现(Appavailability插件要查看Facebook应用程序可用性和社交共享插件以进行实际共享(。

appAvailability.check(
    'fb://',
    function() {  // Success callback
        window.plugins.socialsharing.shareViaFacebook(...)
    },
    function() {  // Error callback
        console.log('Facebook App is not available');
    }
);

尽管这是一个工作,但不是解决方案,但这是唯一的方法,直到修复程序合并到Cordova-Plugin-X-SocialSharing。

您可以在此处找到问题的答案。应用程序可用性。阅读此内容,您的要求将是小菜一碟。

最新更新