我在我的项目中添加了 UIActivityController
。看起来在这个特定主题上可用的帮助要少得多。我面临的问题是链接以一种奇怪的方式在 Facebook 上共享,而不是它们通常在 Facebook 上共享的方式。为了更有意义,照片连同链接将放在 iOS Photos 文件夹中,没有任何更改选项。
下面是他们目前如何在 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
,这是一个实现相同功能但具有额外功能的库,但我遇到了同样的问题。
最佳答案
要共享链接,请避免传递图像。所以使用代码链接:
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];
要记住的关键是,如果您指定了一张图片,那么它会被视为照片分享故事,您的标题和网址最终会与照片说明相似。如果您省略图像,那么它会被视为链接共享,您的标题将成为消息。
如果链接具有 Open Graph 标签,最终故事会在 Facebook 上正确呈现,正确呈现是指您将看到图片、标题、描述等。如果链接中未嵌入 Open Graph 标签,则链接仅显示在生成的故事中。
关于iphone - UIActivityController 在 Facebook 上发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15569422/