iphone - UIActivityController 在 Facebook 上发布

标签 iphone ios objective-c facebook uiactivityviewcontroller

我在我的项目中添加了 UIActivityController。看起来在这个特定主题上可用的帮助要少得多。我面临的问题是链接以一种奇怪的方式在 Facebook 上共享,而不是它们通常在 Facebook 上共享的方式。为了更有意义,照片连同链接将放在 iOS Photos 文件夹中,没有任何更改选项。

下面是他们目前如何在 Facebook 上分享的示例图片:

enter image description here

他们通常如何在 Facebook 上分享以及我想要什么:

enter image description here

这是我用来在我的项目中添加 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/

相关文章:

iphone - AVAudioPlayer 在 iOS 模拟器中播放,但在 iPhone 上不播放

iphone - Sqlite SELECT * 最近 7 天

ios - 如何在 swift 中创建具有特定类型别名的闭包?

iOS 应用内购买 - 自动续订订阅

ios - 如何在用户输入时获取输入到 UITextView 中的文本长度?

objective-c - 什么是兼容 ARC 的适用于 iOS 的优秀 zip 库?

ios - 使用标识符执行 segue 不会在 swift 2 中工作

iphone - 复制 Roambi 应用程序的 Cardex View

ios - 如何等到“当前位置”对话框得到回答才能运行方法?

ios - 后台任务中的 BGAppRefreshTask