5

プロジェクトに追加UIActivityControllerしました。この特定のトピックで利用できるヘルプがはるかに少ないようです。私が直面している問題は、リンクが通常 Facebook で共有される方法ではなく、奇妙な方法で Facebook で共有されることです。より理にかなっているように、写真とリンクは、変更するオプションなしで iOS の写真フォルダーに移動します。

以下は、現在 Facebook で共有されている画像の例です。

ここに画像の説明を入力

それらが通常Facebookでどのように共有されているか、そして私が欲しいもの:

ここに画像の説明を入力

プロジェクトに UIActivityController を追加するために使用しているコードは次のとおりです。

UIActivityViewController *objVC = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObjects:titleString, [NSURL URLWithString:urlString], imageTaker, nil] applicationActivities:nil];


[self presentViewController:objVC animated:YES completion:nil];
[objVC setCompletionHandler:^(NSString *activityType, BOOL completed)
 {
     NSLog(@"Activity = %@",activityType);
     NSLog(@"Completed Status = %d",completed);

     if (completed)
     {
         UIAlertView *objalert = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"Posting was success" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
         [objalert show];
         objalert = nil;
     }else
     {
         UIAlertView *objalert = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"Posting was not successful" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
         [objalert show];
         objalert = nil;
     }
 }];

それ以外にも、次のような警告がコンソールに表示されます。

Registering unknown app identifier com.apple.mobilemail failed
Unable to find app identifier com.apple.mobilemail
Registering unknown app identifier com.apple.MobileSMS failed
Unable to find app identifier com.apple.MobileSMS

更新:同じことを実装するためのライブラリであるが、追加機能を備えた を統合しようとしREActivityControllerましたが、同じ問題に直面しています。

4

1 に答える 1

2

リンクを共有するには、画像を渡さないようにしてください。したがって、これをリンクするコードを使用してください:

UIActivityViewController *objVC = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObjects:[NSURL URLWithString:urlString], nil] applicationActivities:nil];

またはこれ:

UIActivityViewController *objVC = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObjects:titleString, [NSURL URLWithString:urlString], nil] applicationActivities:nil];

覚えておくべき重要なことは、画像を指定すると、それは写真の共有ストーリーと見なされ、タイトルと URL は写真のキャプションに似たものになるということです。画像を省略した場合はリンク共有とみなされ、タイトルがメッセージになります。

リンクに Open Graph タグが含まれている場合、最終的なストーリーは Facebook で正しくレンダリングされます。正しくレンダリングすると、写真、キャプション、説明などが表示されます。リンクに Open Graph タグが埋め込まれていない場合、リンクは単純です。結果のストーリーに表示されます。

于 2013-05-09T18:43:43.620 に答える