canShareVia调用成功回调时不应该 - iOS 11.2

时间:2018-04-04 09:34:14

标签: facebook cordova cordova-plugins phonegap socialshare

描述

当没有安装Facebook应用程序时,canShareVia方法应该调用错误回调,这与运行iOS 10的iPhone5完全兼容。

当我在运行iOS 11.2的iPhone5上测试它时,它总是在安装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以来,此plugin始终返回true。因此,我们可能需要另一种方法来检测是否安装了可用的应用程序。

2 个答案:

答案 0 :(得分:2)

让它与cordova-plugin-appavailability一起使用。

您可以采用这种方式(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

答案 1 :(得分:2)

您可以在此处找到问题的答案。 App Availability。 阅读本文,您的要求将是小菜一碟。