描述
当未安装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。
您可以在此处找到问题的答案。应用程序可用性。阅读此内容,您的要求将是小菜一碟。