2012-10-12 6 views
10

SLComposeViewControllerを使用すると、画像とURLの両方が存在する場合Facebookに投稿する際に気になる動作に気付きます。あなたがイメージとURLの両方を持っている場合、私は次の操作を実行した場合に具体的に、URLはすぐにinitialText後、SLComposeViewControllerの観点から、Facebookの投稿の本文に表示されます明らかので面倒だFacebookとSLComposeViewControllerのURLは、URLと画像の両方が表示されている場合に表示されます

SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 

NSString *text = @"This is a test Facebook post with SLComposeViewController."; 
NSURL *url = [NSURL URLWithString:@"http://http://stackoverflow.com/questions/12503287/tutorial-for-slcomposeviewcontroller-sharing"]; 
UIImage *image = ...; 

[controller setInitialText:text]; 
[controller addURL:url]; 
[controller addImage:image]; 

[self presentViewController:controller animated:YES completion:nil]; 

URLが長い場合、最初のテキストはSLComposeViewControllerのビューの可視部分のオフに押され、私はURLの後半部分を参照してください。私はこのプロセスを繰り返した場合は、この時間はない

を投稿に画像を追加すると、URLのテキストが飾られます(たとえそれが適切にオンラインで表示されているにしても)胴体にはほとんど見られません。

enter image description here

ボトムラインは、URLが記事の本文に表示されない画像とURLがある場合のみ。そして、私がFBNativeDialogsを使うとき、私はこの同じパターンを見ます。

SLComposeViewControllerでその動作を停止する方法はありますか?そのため、イメージとURLの両方をFacebookのポストに接続して、Webサイトの長くて醜いURLにユーザーを公開することはできませんか?明らかに、非SLComposeViewControllerのソリューションのいずれかを使用できます(Facebookの非推奨のFeed Dialogなどを使用して、Facebookの投稿を作成するための独自のUIを設計するなど)。私はいくつかの明白なSLComposeViewControllerソリューションを見落としているかどうか疑問に思っています。

答えて

10

最後に、SLComposeViewController(とFBNativeDialogs)をあきらめました。彼らは素晴らしい、統合された感触を提示しますが、私の投稿に必ず写真とURLの両方が含まれていることを考えると、これは実際には機能しません。それに加えて、投稿は私のアプリからのものであると正しく見なされませんでした。

最後に、自分のユーザーインターフェイスを作成し、hereのようにFacebook SDK 3.1 FBRequestConnectionを使用しました。私はネイティブUIの弱点のために私たち自身のUIを作らなければならないというのはちょっとばかげていると思いますが、それはそれです。

-5
TWTweetComposeViewController *twitter = [[TWTweetComposeViewController alloc] init]; 
NSString *format = @"“%@” %@ /via @DesignSceneApp"; 
NSString *message = [NSString stringWithFormat:format, title, url] 
NSUInteger idx = title.length; 
while (![twitter setInitialText:message]) { 
    idx -= 5; 
    if (idx > 5) { 
     message = [NSString stringWithFormat:format, 
      [NSString stringWithFormat:@"%@…", [title substringToIndex:idx]], 
      url 
     ]; 
    } else { 
     // Give up on the title. 
     message = [NSString stringWithFormat:@"%@ /via @DesignSceneApp", url]; 
     [twitter setInitialText:message]; 
     break; 
    } 
} 

[self presentViewController:twitter animated:YES completion:nil]; 
+1

まだコードの書式設定が進んでいませんか?-1助けを読むインセンティブとして: – kleopatra

+0

@Tamilarasan、私はこのコードが単一のFacebookの投稿でURLと画像の両方を送信するときに現れる特定の問題を解決する方法を見ていません。あなたはFacebookを使用しておらず、画像を送信していません。あなたは「問題の長さ」の問題を繰り返し解決しようとしているようですが、それはここでは問題ではありません。しかし、あなたの時間をありがとう。 – Rob

+1

コードを書いてください。そして、COPY&PASTEの前に質問を読んでください。 –

6

新しいダイアログは、提供されたリンクが指し示すウェブサイト上のタグとして共有データの大部分を提供するように設計されているようです。

タイトル:

<title>TITLE</title> 

説明:

<meta name="description" content="DESCRIPTION"> 

画像:

<meta property="og:image" content="IMAGE_URL"> 

のApp ID:

<meta property="fb:app_id" content="APP_ID"> 
このような210

この方法では、最初のテキストとURLを入力するだけで済みます。あなたは公式のYoutubeアプリがFacebookの共有をどのようにしているかを見ることができます。

+0

それはうまく動作せず、またYtbe!慎重に質問する –

関連する問題