当前位置: 首页 > 知识库问答 >
问题:

ShareKit-在Facebook上共享

太叔京
2023-03-14

我正在使用ShareKit在Facebook上共享一条简单的文本。我使用cocoapods在我的应用程序上安装ShareKit(使用iOS7和XCode5),并遵循配置教程ConfigurationShareKit。更具体地说,我会做以下事情:

1) 将URL方案写入plist

2) 创建DefaultShkConfiguration子类:


@interface MySHKConfigurator : DefaultSHKConfigurator

@end

@implementation MySHKConfigurator
- (NSString*)facebookAppId
{
    return @"xxx";
}
-(NSString *)appName
{
    return @"MyAppName";
}
- (NSArray*)facebookWritePermissions
{
    return [NSArray arrayWithObjects:@"publish_actions",@"publish_stream", nil]; //@"offline_access",
}
- (NSArray*)facebookReadPermissions
{
    return nil; // this is the defaul value for the SDK and will afford basic read permissions
}
@end

3)在AppServer ate中进行初始配置:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.    
    DefaultSHKConfigurator *configurator = [[MySHKConfigurator alloc] init];
    [SHKConfiguration sharedInstanceWithConfigurator:configurator];
    //[SHK flushOfflineQueue];    
    return YES;
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
    [SHKFacebook handleDidBecomeActive];
}
- (void)applicationWillTerminate:(UIApplication *)application
{
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    // Save data if appropriate
    [SHKFacebook handleWillTerminate];
}

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation
{
    NSString* scheme = [url scheme];    

    if ([scheme hasPrefix:[NSString stringWithFormat:@"fb%@", SHKCONFIG(facebookAppId)]]) {
        return [SHKFacebook handleOpenURL:url];
    }

    return YES;
}

4) 在Facebook上共享

- (IBAction)shareFacebook:(id)sender {            
    //- The url should be a link to your app on the app store
    NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
    //- Share on Facebook
    SHKItem *item = [SHKItem URL:url title:self.textView.text contentType:SHKURLContentTypeWebpage];
    [SHKFacebook shareItem:item];    
}

现在,我在真实设备上得到的结果是一个facebook确认对话框,上面有一个问题:“你已经授权了MyApp”。按下“确定”按钮后,它会返回到“共享”对话框。在我按下“发送到Facebook”按钮后,它再次返回到Facebook确认对话框,上面有一个问题。这个循环永远循环。

你知道我错过了什么吗?谢谢

共有1个答案

邴子实
2023-03-14

哦,我现在明白了-如果你喜欢直接打电话给sharer,而不是打电话

[SHKiOSFacebook shareItem:item];

SHKFacebook和SHKiOSFacebook的区别在于前者使用Facebook iOS SDK,而后者使用帐户。框架和社会。框架

 类似资料:
  • 我有我导出到数据uri图像的HTML画布。现在我想通过点击我页面上的自定义链接,在Facebook时间线上尽可能轻松地分享这张图片(无需创建FB应用程序和身份验证令牌)。 我试过这样的方法: 图像生成: 共享链接: 当我点击链接Safari我得到 如何通过Facebook共享者URL(或其他方式)轻松共享数据uri图像? 谢谢你的回答!

  • ShareKit 是 iPhone 中一键分享文字、图片、链接、文件到 Facebook、twitter、delicious、tumblr、google reader 等第三方网站的 objc 库。

  • 有没有一种方法可以使用android和facebook sdk在facebook messenger中共享文本?

  • 我在尝试hadoop(Java版本)中的mapreduce程序,从json文件中查找共同的朋友列表。json文件内容具有以下模式: 模式解释如下: friend json选项卡,由相关friends json的数组分隔 因此abc将xyz、def和cxf作为朋友cxf将xyz abc和yyy作为朋友。 综上所述,abc和cxf的共同好友是xyz。 尝试通过创建自定义可写文件来实现相同的使用mapd

  • 我正在使用Facebook SDK 4.2通过Android版的Facebook Messenger发送一个文件(具体来说,我正在导出一个序列化对象)。 但是,每个人都只提到图像、音频和视频。甚至文档也没有提到“text/平原”作为支持的MIME类型。 出于curosity,我决定尝试使用“image/jpeg”共享文件,结果成功了。文件已发送,messenger允许下载,但我认为这不是正确的方式