2016-12-23 22 views
0

最近FacebookとTwitterで投稿するためにソーシャルフレームワークを使用していました。 Twitterがうまくいけば、たとえデバイスがFacebookのFacebookアプリを持っていなくても、Facebookは動作します。しかし、それがインストールされていれば、最初のテキストのない別のウィンドウが開きます。 これはなぜ起こっているのですか?これは修正できますか?FacebookのFacebookのiOSソーシャルフレームワーク

enter image description here

+0

初期何文字?あなたはFacebookのプラットフォームポリシーを読んでいますか? – WizKid

+0

申し訳ありませんが、私はポリシーを読んでいませんでした。しかし、初期テキストを設定するためのパラメータがあります。フレームワーク自体がそれを提供します –

+0

いくつかのコードを提供してください –

答えて

1

あなたはテキスト、画像を共有することができますが、SLComposeViewControllerを使用して、リンクが、私はそれがuのために働くことを願っています。

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 

    } 
+0

私はテキストを共有する方法を知っています.....問題は、デバイスがそれにインストールされているFacebookのアプリを持っているときに発生します。この場合、最初のテキストがない別のウィンドウが開きます(質問ではpic)。 期待される動作は、コードがデフォルトで開いている同じソーシャルフレームワークウィンドウを開く必要があることです –