我想在我的游戏中添加一个功能,以便用户可以在 Facebook 上与他的 friend 分享他的高分。
现在要做到这一点,我首先想知道他的设备上是否安装了 facebook 应用程序,如果没有,他将看不到在 facebook 上分享他的高分的功能。
我使用的是 swift,所以我添加了带有bridge-header.h 文件的 facebookSDK。
这是facebook示例给出的代码:
FBShareDialogParams *params = [[FBShareDialogParams alloc] init];
params.link = [NSURL URLWithString:@"https://example.com/book/Snow-Crash.html"];
BOOL canShare = [FBDialogs canPresentShareDialogWithParams:params];
if (canShare) {
// FBDialogs call to open Share dialog
}
现在这是 Objective-C 语言,我尝试将其转换为 Swift,现在这是我的代码:
let params = FBShareDialogParams()
params.link = NSURL(URLWithString:"https://example.com/book/Snow-Crash.html")
let canShare:Bool = (FBDialogs.canPresentShareDialogWithParams(params))
if (canShare) {
// FBDialogs call to open Share dialog
}
但现在我收到错误:FBShareDialogParams 不可用
桥头看起来像:
#ifndef FrogCross2_Bridge_Header_h
#define FrogCross2_Bridge_Header_h
#import <FacebookSDK/FacebookSDK.h>
#endif
我做错了什么?
最佳答案
这是一种解决方法,可能有更好的方法,但您可以尝试使用 Facebook url 方案打开 Facebook url,如下所示:
func facebookInstalled() -> Bool {
if UIApplication.sharedApplication().canOpenURL(NSURL(string: "fb://")!) {
return true
}
return false
}
我在模拟器上尝试了这个,它的评估结果为 false,但是当我在我的设备上尝试它时,它的评估结果为 true。
关于objective-c - 检测 idevice 上是否安装了 facebook 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27554948/