9947


ユーザーがアプリ上で作成した情報を、UIActivityViewControllerを使って、メール・Twitter・Facebookなど様々な方法でシェアさせる機能を開発しています。

下記のようなコードを実装したのですが、Facebookでの投稿シェア時に、本文が空っぽになってしまいます。

いろいろ試行錯誤してみたのですが、問題の原因がわからず、解決の緒になるヒントなどを頂けたら幸いです。よろしくお願い致します。

[code]

    NSURL *url = [NSURL URLWithString:@"http://apple.co/1bvqKT4"];
    NSString *text = @"test";
    UIImage *image = [UIImage imageNamed:@"hoge.png"];
    UIActivityViewController *activityController = [[UIActivityViewController alloc]initWithActivityItems:@[text,url,image]applicationActivities:nil];
    [self presentViewController:activityController animated:YES completion:nil];
    
[/code]

添付画像１枚目：Facebookでシェアした時のスクリーンショット。画像だけはシェアされるものの、本文とURLがシェアされない

添付画像２枚目：メールでシェアした時のスクリーンショット。すべてちゃんとシェアされている。

添付画像３枚目：Facebookでシェアした後のタイムライン

![メールでシェアした場合はちゃんと内容が表示される](https://i.stack.imgur.com/bRSgA.jpg)  
![Facebookでシェアした場合、空っぽになる](https://i.stack.imgur.com/RnpIM.jpg)  
![Facebookでシェアした後のタイムライン](https://i.stack.imgur.com/bRvsL.jpg)


CC BY-SA 3.0
2015-05-07T16:55:33.370
9919
2015-05-08T09:11:48.027
2015-05-08T06:33:48.003
682
682
question
ios objective-c ios8
UIActivityViewControllerのシェア機能でFacebookだけ中身が空っぽになる


簡単に実験してみましたが、なかなか、不思議な動作をしているようです。

  * テキスト／URL／画像データをセットで投稿した場合 → 画像データだけが投稿される
  * テキスト／URLを投稿した場合 → テキスト／URLが投稿される

実験に使ったコードはこんな感じです。  
（iOS 8.3／Xcode 6.3.1／iPhone 5Sで確認）

[code]

    /// テキスト／URL／画像データを投稿
    @IBAction func onShareAll(sender: AnyObject) {
        let text = "Text + URL + Image"
        let url = NSURL(string: "http://apple.co/1bvqKT4")
        let image = UIImage(named: "pic1")
    
        // なぜか、画像だけが投稿される
        let items = [text, url!, image!]
    
        let activity = UIActivityViewController(activityItems: items, applicationActivities: nil)
        presentViewController(activity, animated: true, completion: nil)
    }
    
    /// テキスト／URLを投稿
    @IBAction func onShareText(sender: AnyObject) {
        let text = "Text + URL"
        let url = NSURL(string: "http://apple.co/1bvqKT4")
    
        // テキストとURLが正常に投稿される
        let items = [text, url!]
    
        let activity = UIActivityViewController(activityItems: items, applicationActivities: nil)
        presentViewController(activity, animated: true, completion: nil)
    }
    
[/code]

  * 画像を含む投稿の結果   
![画像を含む投稿の結果](https://i.stack.imgur.com/zNRy5.png)

  * テキスト／URLの投稿の結果   
![テキスト／URLの投稿の結果](https://i.stack.imgur.com/cIQOR.png)

ちなみに、Facebookのアプリだけログインしていた場合、画像の投稿は出来るけどテキスト／URLの投稿は上手く行きませんでした。こちらは、iOSの[設定]
- [Facebook]からログインしておくことで、テキスト／URLの投稿に成功しました。


CC BY-SA 3.0
2015-05-08T09:11:48.027
9947
2015-05-08T09:11:48.027
7459
9919
answer