我一直试图在我的Swift项目中使用。问题是,Facebook只展示了如何在目标C中使用。我很难从FBSDKMessengerShareKit调用方法。我做了桥接头,并为导入添加了FBSDKMessengerShareKit。桥接头如下所示
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
#import <FBSDKMessengerShareKit/FBSDKMessengerShareKit.h>
#ifndef myProject_Bridging_Header_h
#define myProject_Bridging_Header_h
#endif这就是Facebook如何在Messenger中与Objective共享图像的方式。
if ([FBSDKMessengerSharer messengerPlatformCapabilities] & FBSDKMessengerPlatformCapabilityImage) {
UIImage *image = [UIImage imageNamed:@"myImage];
[FBSDKMessengerSharer shareImage:image withOptions:nil];
}我要把它变成斯威夫特
if (FBSDKMessengerSharer.messengerPlatformCapabilities() & FBSDKMessengerPlatformCapability.Image) {
let myImage = UIImage(named: "myImage")
FBSDKMessengerSharer.shareImage(myImage, withOptions: nil)
}我的Swift代码无法构建,它总是显示错误“无法找到接受所提供参数的'&‘重载”
我不知道我的Swift代码有什么问题,有人知道如何在Swift中使用MessengerSDK吗?
发布于 2015-05-02 05:05:10
下面是您需要的代码:
let result = FBSDKMessengerSharer.messengerPlatformCapabilities().rawValue & FBSDKMessengerPlatformCapability.Image.rawValue
if result != 0 {
// ok now share
if let sharingImage = sharingImage {
FBSDKMessengerSharer.shareImage(sharingImage, withOptions: nil)
}
} else {
// not installed then open link. Note simulator doesn't open iTunes store.
UIApplication.sharedApplication().openURL(NSURL(string: "itms://itunes.apple.com/us/app/facebook-messenger/id454638411?mt=8")!)
}查看以下内容以获得更多参考:http://shoheik.hatenablog.com/entry/2015/03/28/120212
发布于 2016-11-25 08:04:37
在Swift中,您可以使用以下代码:
if UIApplication.sharedApplication().canOpenURL(NSURL(string: "fb-messenger-api://")!) {
let content = FBSDKShareLinkContent()
content.contentURL = NSURL(string: url)
content.contentTitle = "your awesome title"
FBSDKMessageDialog.showWithContent(content, delegate: self)
} else {
UIApplication.sharedApplication().openURL(NSURL(string: "https://itunes.apple.com/pl/app/messenger/id454638411?mt=8")!)
}这是有内容的Messenger窗口。
发布于 2021-04-15 10:19:41
不是一个答案,但截至2021年4月15日,MessageDialog或FBSDKMessageDialog已被否决--这里是FB 响应
共享到Messenger SDK,允许人们分享链接和媒体,从应用程序到信使将不再支持。企业和开发人员可能需要对他们的应用程序进行修改,以触发本地操作系统共享。人们将能够使用内置在其设备中的本机共享功能将内容共享给Messenger。
https://stackoverflow.com/questions/29998493
复制相似问题