ios - 打开带有预定义文本的 Facebook 应用程序以共享

标签 ios objective-c facebook cocoa-touch

请看这段代码:

 NSString *text = [NSString stringWithFormat:@"%@",
                       [@"Hello world!" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

NSString *post = [NSString stringWithFormat:@"fb://publish/profile/me?text=%@", text];

NSURL* url = [NSURL URLWithString:post];

if ([[UIApplication sharedApplication] canOpenURL:url])
{
    [[UIApplication sharedApplication] openURL:url];
}

通过这段代码,我想打开安装在设备上的 Facebook 应用程序,并在共享对话框中打开它,并将 text 字符串用作要共享的预定义文本。但不幸的是,它只是打开了我的时间线。我究竟做错了什么?甚至有可能吗?我找不到任何关于如何正确执行此操作的文档或教程。谢谢

最佳答案

使用 FacebookSDK 的框架有一个简单的方法。这只需要 2 分钟。

FBSDKCoreKit.framework
FBSDKShareKit.framework

如果您的设备中没有安装 facebook 应用程序,那么这将打开默认的网络浏览器。

#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKShareKit/FBSDKShareKit.h>

//在 vi​​ewdidload 或其他地方

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentTitle = @"Scare Prank";
content.contentDescription = @"Someone just got Scare Pranked with ♫";   
content.contentURL = [NSURL URLWithString:soundUrl];         
content.imageURL = [NSURL URLWithString:@“some icon url”];

FBSDKShareButton *button = [[FBSDKShareButton alloc] initWithFrame:CGRectMake(0, 0, 200, 43)];
button.center = self.center;
button.shareContent = content;
[self addSubview:button];

关于ios - 打开带有预定义文本的 Facebook 应用程序以共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32329859/

相关文章:

objective-c - NSManagedObject 未定义?

ios - 我用播放按钮启动一个 NSTimer,但想按停止按钮结束它,我该如何完成呢?

ios - images.append(UIImage(named : imageNames[i])!) - 在展开可选值时发现 nil

iOS 每天运行一次代码

objective-c - Cocoa:使用 Xcode 4.0 创建 iTunes/Sidebar 之类的东西

java - facebook android sdk shareddialog回调总是成功的

ios - 在 iOS 中以编程方式将图像集添加到 images.xcassets 目录?

ios - 在 MapView 上的点之间画一条线

android - in facebook sdk for Android 的示例始终显示语言为 "Bahasa Indonesia"的身份验证页面

javascript - 无法通过 Facebook 进行身份验证