Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查用户是否已安装Facebook Messenger iOS 9_Ios_Facebook_Ios9_Messenger - Fatal编程技术网

检查用户是否已安装Facebook Messenger iOS 9

检查用户是否已安装Facebook Messenger iOS 9,ios,facebook,ios9,messenger,Ios,Facebook,Ios9,Messenger,Facebook已弃用用于检查用户是否安装了Messenger应用程序的方法[FBSDKMessengerSharer Messenger PlatformCapabilities]。在警告信息中,它说: Messenger PlatformCapabilities已弃用:从iOS 9开始,此功能已弃用。如果使用此选项,则必须按照中所述配置plist 我想删除此方法,但尚未找到任何其他选项来替换此代码(如果用户未安装Messenger应用程序,则会禁用按钮): 还有其他方法吗?或者,作为新的iO

Facebook已弃用用于检查用户是否安装了Messenger应用程序的方法
[FBSDKMessengerSharer Messenger PlatformCapabilities]
。在警告信息中,它说:

Messenger PlatformCapabilities已弃用:从iOS 9开始,此功能已弃用。如果使用此选项,则必须按照中所述配置plist

我想删除此方法,但尚未找到任何其他选项来替换此代码(如果用户未安装Messenger应用程序,则会禁用按钮):


还有其他方法吗?或者,作为新的iOS要求,如果,我应该避免使用此
?先谢谢你

您需要使用
canOpenURL
查看是否可以打开自定义URL方案
fb messenger://
canOpenURL
返回一个
BOOL
值,指示设备上安装的某些应用程序是否可以处理URL的方案。如果
canOpenURL
返回
YES
,则设备上存在应用程序

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb-messenger://"]]) {
    // Installed
    [self.inviteFriendsButton setEnabled:YES];
    [self.inviteFriendsButton setAlpha:1.0];
}
else {
    // NOT Installed
    [self.inviteFriendsButton setEnabled:NO];
    [self.inviteFriendsButton setAlpha:0.5];
}
此外,从iOS 9开始,您必须在
info.plist
中包含
lsapplicationqueryschemes


自从Facebook SDK v4.6.0发布以来,他们使用
fb messenger api
作为URL方案

Swift 2.3

if UIApplication.sharedApplication().canOpenURL(NSURL(string: "fb-messenger-api://")!) {
    // Installed
} else {
    // Not installed
}

资料来源:

对于那些使用Swift 3的人,请使用:

UIApplication.shared.canOpenURL(URL(string: "fb-messenger-api://")!)

在我的例子中,我需要知道是否显示一个按钮,用户可以按下该按钮在messenger上共享内容。这对我的案例有效,它还检查是否安装了messenger应用程序

-(BOOL)CanshareVia Messenger{
[[[FBSDKMessageDialog alloc]init]canShow]
}
UIApplication.shared.canOpenURL(URL(string: "fb-messenger-api://")!)