【问题标题】:Posting an image, url link, text to facebook using Sharekit 2.0 at the same time同时使用 Sharekit 2.0 将图片、url 链接、文本发布到 facebook
【发布时间】:2012-11-24 01:14:41
【问题描述】:

我想在 iOS 中使用 Sharekit 同时将网址、图片和文本发布到 Facebook。可能吗?如果是这样,我该怎么做?任何指导。

我想实现这样的目标。需要一些帮助。

我尝试过这样的事情:

SHKFacebook * sharer = [ [ [ SHKFacebook alloc ] init] autorelease ];
    SHKItem * item = [ SHKItem URL:[ NSURL URLWithString:@"http://google.com" ]
                             title:@"my title"
                       contentType:SHKShareTypeURL ];
    item.facebookURLShareDescription = @"my description";
    item.facebookURLSharePictureURI = @"http://www.userlogos.org/files/logos/pek/stackoverflow.png";

但似乎没有发布描述...

编辑

我的 facebooksharedescription 和 facebookshareuri 看起来像这样:

- (NSString *)facebookURLSharePictureURI {
    return nil;
}

- (NSString *)facebookURLShareDescription {
    return nil;
}

我需要改变什么吗?

当我更改为 forcepreIOS6posting 时,它给了我这个错误:

the operation cannot be completed.(com.facebook.sdk. error 2.)

在这两个方面也需要一些指导......

【问题讨论】:

    标签: ios facebook sharing sharekit


    【解决方案1】:

    请参阅SHKItem.h 中的共享者特定扩展ShareKit 2.0 中的DefaultSHKConfigurator.m。那里有清楚的描述。

    您可以设置链接、图片和描述+如果您决定向用户呈现对话,用户可以添加一些消息。

    请注意,这适用于 ShareKit 类型的共享对话(iOS6 之前)。在 iOS6 ShareKit 使用新的原生 social.framework 对话,这种行为是不可能的。您甚至可以在配置器子类中的 iOS 6 上强制执行 iOS6 之前的行为(同样,有关更多信息,请查看 DefaultSHKConfigurator.m

    如果您决定使用 ShareKit,请务必关注 sharekit install wiki

    编辑:这是从 ShareKit 示例应用程序 ExampleShareLink.m 文件中粘贴的。这是一个内容类型的视频,但您可以将这些 facebook 共享器特定的扩展用于任何内容类型。

    SHKItem *item = [SHKItem URL:[NSURL URLWithString:@"http://www.youtube.com/watch?v=3t8MeE8Ik4Y"] title:@"Big bang" contentType:SHKURLContentTypeVideo];
    item.facebookURLSharePictureURI = @"http://www.state.gov/cms_images/india_tajmahal_2003_06_252.jpg";
    item.facebookURLShareDescription = @"description text"; 
    

    编辑 2:如果您仔细遵循 wiki,那么您就达到了第 4 点 - Configuration。在您的配置器子类中,覆盖

    - (NSNumber*)forcePreIOS6FacebookPosting {
        return [NSNumber numberWithBool:false];
    }
    

    并设置为真。您可以配置(覆盖)许多其他内容,请参阅DefaultSHKConfigurator.m

    【讨论】:

    • 我正在关注sharekit..如果你能展示一个例子会很好......它对其余部分也很有用......
    • 在 iOS6 ShareKit 使用新的原生 social.framework 对话,这种行为是不可能的。即使在 iOS 6 上,您也可以在配置器子类中强制执行 iOS6 之前的行为(再次,有关更多信息,请查看 DefaultSHKConfigurator.m.Hw 来执行此操作?
    • 好的..首先感谢..我已将其更改为 forcePreIOS6Posting 但是当我发布到 facebook 时,我收到此错误:操作无法完成。(com.facebook.sdk.error. 2)。如何解决这个问题?
    • 嗯,这个错误很少见,但已知,不幸的是还没有解决方案。当身份验证混乱时,有时会发生这种情况。从 facebook 注销用户后重试。如果这没有帮助,请删除该应用程序并再次运行。您可以关注this thread 以获取有关该问题的更新。
    • facebookURLSharePictureURI 方法如何?
    【解决方案2】:

    如果您不想关注PreIOS6FacebookPosting,您可以设置SHKItem 的图像属性。问题在于它需要一个实际的 UIImage 对象而不是 URL。

    您可以同步创建一个 UIImage 对象,也可以使用您已经加载的 UIImage 对象与图像进行共享:

    NSURL* aURL = [NSURL URLWithString:photoURL];
    NSData* data = [[NSData alloc] initWithContentsOfURL:aURL];
    item.image = [UIImage imageWithData:data];
    

    我通过在我的 Facebook 应用设置中设置正确的捆绑包 ID 解决了错误 com.facebook.sdk.error.2。我使用不同的包 ID 进行测试,因此我的 Facebook 应用程序设置中的包 ID 与我的应用程序的包 ID 不匹配,我遇到了 com.facebook.sdk.error.2 问题。这已通过将额外的开发包 ID 添加到 Facebook 应用设置来解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 2012-05-14
      相关资源
      最近更新 更多