iPhone / iOS - 如何使用“ShareKit”仅发布到Facebook或仅发布到Twitter

时间:2011-03-25 12:15:52

标签: iphone facebook twitter sharekit

在我的iPhone应用程序中,我有两个按钮,标记为“Facebook”和“Twitter”。 我想使用Sharekit框架,这使我的共享变得非常简单。但是如ShareKit的示例代码所示,我只能显示许多共享服务,我不想包含这些服务。我希望我的“Facebook”按钮只显示Facebook共享服务,而Twitter也是如此。如何修改ShareKit以便像这样工作?

3 个答案:

答案 0 :(得分:31)

<强>更新

由于这个答案仍然很受欢迎,我只想在iOS 5&amp; iOS 6,对Sharekit的需求要少得多。现在,许多流行的共享选项都内置在操作系统中。话虽这么说,这个答案对于没有内置到设备中的共享服务仍然有效,或者如果您对Sharekit更加满意。


我将告诉你如何为Facebook做这件事,Twitter完全一样,只需将Facebook的所有实例改为Twitter

首先,#import "SHKFacebook.h" 然后在按钮的目标方法中,输入以下内容:

SHKItem *item;    //This creates the Sharekit Item
NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/us/app/...?mt=8"];

NSURL应该是指向应用商店中应用的链接。这样,如果有人在Facebook上看到您的应用程序发布的帖子,并且他们点击它,他们将被定向到商店,以便他们可以下载它。严格来说,这是可选的,但为什么不尝试使用这一额外的一行来获得新的下载。

现在我们需要设置SHKItem,如下所示:

item = [SHKItem URL:url title:[NSString stringWithFormat:@"I'm playing someGame on my iPhone! My Highscore is %i, think you can beat it?", highScoreInt]];

然后设置这样的帖子:

item = [SHKItem URL:url title:@"Share Me!"];

标题参数为 NOT 用户可自定义。无论您在此设置什么,用户都无法更改。除了放在那里的任何内容之外,他们还有机会添加自己的文本。

最后显示项目:

[SHKFacebook shareItem:item];

我希望这会有所帮助。正如我所说,只需将此帖中的Facebook更改为Twitter即可。如果您需要更多帮助,请在评论中告诉我。

答案 1 :(得分:4)

Sharekit提供了一种通用的共享机制,但也公开了各个服务。例如,如果您要在Twitter上共享URL,则可以编写以下代码:

#import "ShareKit/Core/SHK.h"
#import "ShareKit/Sharers/Services/Twitter/SHKTwitter.h"

...

SHKItem *item = [SHKItem URL:url title:@"A title"];
[SHKTwitter shareItem:item];

这是all explained in the documentation,但不要害怕探索各个服务的头文件。

答案 2 :(得分:0)

我的一个应用程序中也遇到了同样的问题,并试图强制使用sharekit来做到这一点。

ShareKit并不是真的为它做的,它意味着提供大量的共享选项 - 所以即使经过修改,我发现它不是一个非常优雅或有效的解决方案。

它会节省一点时间,当然 - 但如果你想要一个外观漂亮,优雅的解决方案,我建议你自己整合twitter和facebook。这需要一些时间,但您可以完全按照自己的意愿定义行为,并更好地设置界面以适合您的应用。