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