我在项目中添加了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];
要记住的关键是,如果您指定图像,则将其视为照片共享故事,并且标题和URL最终与照片标题相似。如果省略图像,则将其视为链接共享,并且标题将成为消息。
如果链接具有Open Graph标签,则最终的故事将在Facebook上正确呈现,并且通过正确呈现,我的意思是您将看到图片,标题,说明等。如果链接中未嵌入Open Graph标签,则该链接就很简单显示在结果故事中。
关于iphone - UIActivityController在Facebook上发布,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15569422/