首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Swift中使用

在Swift中使用
EN

Stack Overflow用户
提问于 2015-05-02 04:45:15
回答 3查看 4.4K关注 0票数 3

我一直试图在我的Swift项目中使用。问题是,Facebook只展示了如何在目标C中使用。我很难从FBSDKMessengerShareKit调用方法。我做了桥接头,并为导入添加了FBSDKMessengerShareKit。桥接头如下所示

代码语言:javascript
复制
#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共享图像的方式。

代码语言:javascript
复制
if ([FBSDKMessengerSharer messengerPlatformCapabilities] & FBSDKMessengerPlatformCapabilityImage) {
    UIImage *image = [UIImage imageNamed:@"myImage];
    [FBSDKMessengerSharer shareImage:image withOptions:nil];
}

我要把它变成斯威夫特

代码语言:javascript
复制
if (FBSDKMessengerSharer.messengerPlatformCapabilities() & FBSDKMessengerPlatformCapability.Image) {
            let myImage = UIImage(named: "myImage")
            FBSDKMessengerSharer.shareImage(myImage, withOptions: nil)
}

我的Swift代码无法构建,它总是显示错误“无法找到接受所提供参数的'&‘重载”

我不知道我的Swift代码有什么问题,有人知道如何在Swift中使用MessengerSDK吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-02 05:05:10

下面是您需要的代码:

代码语言:javascript
复制
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

票数 4
EN

Stack Overflow用户

发布于 2016-11-25 08:04:37

在Swift中,您可以使用以下代码:

代码语言:javascript
复制
            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窗口。

票数 0
EN

Stack Overflow用户

发布于 2021-04-15 10:19:41

不是一个答案,但截至2021年4月15日,MessageDialogFBSDKMessageDialog已被否决--这里是FB 响应

共享到Messenger SDK,允许人们分享链接和媒体,从应用程序到信使将不再支持。企业和开发人员可能需要对他们的应用程序进行修改,以触发本地操作系统共享。人们将能够使用内置在其设备中的本机共享功能将内容共享给Messenger。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29998493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档