我想在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.)
还需要对这两个方面提供一些指导......
答案 0 :(得分:2)
请参阅SHKItem.h
中的分享者特定扩展程序和ShareKit 2.0中的DefaultSHKConfigurator.m
。这里有清楚的描述。
您可以设置链接,图片和说明+如果您决定向用户展示对话,用户可以添加一些信息。
请注意,这适用于ShareKit类型的共享对话(iOS6之前)。在iOS6上,ShareKit使用新的原生社交框架对话,这种行为是不可能的。您甚至可以在配置器子类中的iOS 6上强制执行iOS6之前的行为(同样,请查看更多信息DefaultSHKConfigurator.m
。
如果您决定使用ShareKit,请务必按字面意思关注sharekit install wiki。
编辑:这是从ShareKit示例应用程序ExampleShareLink.m
文件粘贴的。它是一种内容类型视频,但您可以将这些facebook sharer特定扩展名用于任何内容类型。
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:如果你仔细地关注了维基,你就到了第4点 - Configuration。在配置器子类中,覆盖
- (NSNumber*)forcePreIOS6FacebookPosting {
return [NSNumber numberWithBool:false];
}
并设置为true。您可以配置(覆盖)许多其他内容,请参阅DefaultSHKConfigurator.m
答案 1 :(得分:0)
如果你不想focePreIOS6FacebookPosting你可以设置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应用程序设置来解决的。