【Xcode6.2 + iOS 8.4(iPhone5) + MacOX10.9.5】
引き続きFacebook投稿の話です。
前回のポストに書いたようにFacebook投稿自体は出来るようになったのですが、プログラムで設定したメッセージが表示されませんでした。コードはこんな感じ。
//facebook:送信 - (IBAction)sendFB:(UIBarButtonItem *)sender { // 組み込みのFacebookが利用可能な端末かを検証する if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) { // Facebook投稿機能のインスタンスを作成する SLComposeViewController *slComposeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; // 投稿するコンテンツを設定する // 表示する文字列 [slComposeViewController setInitialText:@"#アイコン顔カメラ"]; // URL [slComposeViewController addURL:[NSURL URLWithString:@"http://www.c-geru.com/"]]; // 画像 [slComposeViewController addImage:[UIImage imageNamed:@"icon_10.png"]]; // 処理終了後に呼び出されるコールバックを指定する [slComposeViewController setCompletionHandler:^(SLComposeViewControllerResult result) { switch (result) { case SLComposeViewControllerResultDone: NSLog(@"Done!!"); break; case SLComposeViewControllerResultCancelled: NSLog(@"Cancel!!"); } }]; // 表示する [self presentViewController:slComposeViewController animated:YES completion:nil]; } }
で、表示される画面がコレ。「slComposeViewController setInitialText:」のテキストが表示されていません。
この画面でテキスト入力すると、そのテキストは投稿されますが、Xcodeに下記のようなメッセージが表示されます。
plugin com.apple.share.Facebook.post invalidated
【追記】2015.8.17 ちなみに「slComposeViewController setInitialText:」をコメントにしても、投稿後に上記メッセージが表示されます。
調べてみると、こんな情報が。
・ios – UIActivityViewControllerでFacebookにシェアできない – スタック・オーバーフロー
・sharing – ios plugin com.apple.share.Facebook.post do not show provided text – Stack Overflow
これによると、Facebook側のポリシー変更ということのようです。
・Platform Policy 2.3 Example and Explanation
メッセージは基本ユーザに入力してもらうと考えれば、ハッシュタグつけるとか以外に困ることはなさそうですが、一応備忘録として。