我想为我的游戏添加一项功能,以便用户可以在Facebook上与他的朋友分享他的高分。
现在要做到这一点,我首先想知道他的设备上是否安装了facebook app,如果没有,他将不会看到在Facebook上分享他的高分的功能。
我使用swift所以我在facebookSDK中添加了一个bridge-header.h文件。
这是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不可用
Bridge标题如下:
#ifndef FrogCross2_Bridge_Header_h
#define FrogCross2_Bridge_Header_h
#import <FacebookSDK/FacebookSDK.h>
#endif
我做错了什么?
答案 0 :(得分:2)
这是一种解决方法,可能有更好的方法,但您可以尝试使用Facebook网址方案打开Facebook网址:
func facebookInstalled() -> Bool {
if UIApplication.sharedApplication().canOpenURL(NSURL(string: "fb://")!) {
return true
}
return false
}
我在模拟器上尝试了这个并且它在false时评估,但当我在我的设备上尝试它时,它被评估为真。