facebook问题的iOS社交框架

Posted

技术标签:

【中文标题】facebook问题的iOS社交框架【英文标题】:iOS social framework for facebook issue 【发布时间】:2016-12-23 06:52:51 【问题描述】:

我最近使用社交框架在 facebook 和 twitter 上发帖。 Twitter 工作正常,如果设备中没有 facebook 应用程序,即使 facebook 也可以工作。但是,如果它已安装,那么它会打开其他一些没有初始文本的窗口。 有谁知道为什么会发生这种情况,可以解决吗?

【问题讨论】:

什么初始文本?您已阅读 Facebook 平台政策? 对不起,我没有阅读该政策。但是,我们有一个用于设置初始文本的参数。框架本身提供了它 请提供一些代码 SLComposeViewController *composeController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; [composeController setInitialText:@"我一直在使用这个应用,觉得你可能会喜欢它。"]; [self presentViewController:composeController Animation:YES 完成:nil]; 不允许预填充文本。这就是为什么它不起作用 【参考方案1】:

您可以使用 SLComposeViewController 共享文本、图像、链接,我希望它对您有用。

   let mySLComposerSheet:SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
    mySLComposerSheet.setInitialText("Sharetext")       
    mySLComposerSheet.addURL(NSURL(string: "www.shareurl.com"))
    mySLComposerSheet.addImage(UIImage(named:"image"))
    mySLComposerSheet.completionHandler = 
    (result:SLComposeViewControllerResult) in
        mySLComposerSheet.dismissViewControllerAnimated(true, completion:  () -> Void in
            if result == SLComposeViewControllerResult.Done 
               print("success")
             else 
                print("fail")
            
        );
       
  self.presentViewController(mySLComposerSheet, animated: true)  () -> Void in

 

swift3.0

let mySLComposerSheet:SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
    mySLComposerSheet.setInitialText("Sharetext")
    mySLComposerSheet.add(URL(string: "www.shareurl.com"))

    mySLComposerSheet.add(UIImage(named: "image"))
    mySLComposerSheet.completionHandler = 
        (result:SLComposeViewControllerResult) in
        mySLComposerSheet.dismiss(animated: true, completion:  () -> Void in
            if result == SLComposeViewControllerResult.done 
                print("success")
             else 
                print("fail")
            
        );
    
    self.present(mySLComposerSheet, animated: true)  () -> Void in

    

【讨论】:

我知道如何分享文本.....当设备安装了 facebook 应用程序时会出现问题。在这种情况下,将打开另一个没有初始文本的窗口(问题中的图片)。预期的行为是代码应该打开默认打开的相同社交框架窗口

以上是关于facebook问题的iOS社交框架的主要内容,如果未能解决你的问题,请参考以下文章

facebook ios sdk 或苹果社交框架

使用 iOS 中的社交框架向 Facebook 朋友发送消息或应用请求

使用社交框架从 Facebook 注销

iOS11 已弃用社交框架

Cordova / Phonegap 应用程序 - 更改 Facebook 帐户

在 iOS6 中调用官方设置应用