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

ara*_*sss 6 facebook ios messenger ios9

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

不推荐使用messengerPlatformCapabilities:从iOS 9开始不推荐使用.如果使用此功能,则必须按照https://developers.facebook.com/docs/ios/ios9中的说明配置plist.

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

if (![FBSDKMessengerSharer messengerPlatformCapabilities]) {
    [self.inviteFriendsButton setEnabled:NO];
    [self.inviteFriendsButton setAlpha:0.5f];
}
Run Code Online (Sandbox Code Playgroud)

还有其他方法吗?或者,作为新的iOS要求,我应该避免使用它if?先感谢您.

Dan*_*orm 13

您将需要使用canOpenURL以查看是否fb-messenger://可以打开自定义URL方案.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];
}
Run Code Online (Sandbox Code Playgroud)

此外,从iOS 9开始,您必须包括LSApplicationQueriesSchemes在您的info.plist.

在此输入图像描述