21

在我的 iPhone 应用程序中,我有两个两个按钮,分别标记为“Facebook”和“Twitter”。我想使用Sharekit框架,它让我的分享变得非常简单。但是在ShareKit的示例代码中,我只能展示很多共享服务,我不想包括在内。我希望我的“Facebook”按钮只显示 Facebook 共享服务,Twitter 也是如此。我如何修改 ShareKit 以使其像那样工作?

4

3 回答 3

31

更新

由于这个答案仍然很受欢迎,我只想补充一点,在 iOS 5 和 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!"];

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

最后显示项目:

[SHKFacebook shareItem:item];

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

于 2011-04-03T23:28:05.327 回答
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];

在文档中都有解释,但不要害怕探索各个服务的头文件。

于 2011-03-25T12:40:23.273 回答
0

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

不过,ShareKit 并不是真正为它而生的,它的目的是提供大量的共享选项——所以即使经过修改,我发现它并不是一个非常优雅或高效的解决方案。

当然,这会节省一些时间——但如果你想要一个好看、优雅的解决方案,我建议你自己集成 twitter 和 facebook。这需要一些时间,但您可以完全按照自己的意愿定义行为,并为界面设置主题以更好地适应您的应用程序。

于 2011-04-04T00:38:46.303 回答