0

我的应用中有一张图片,我想在 FB 上分享。

现在我的 iPhone 上安装了 FB 应用程序。

我想要的是当我在我的应用程序的图像中点击共享时,它应该打开 FB 应用程序并允许我在那里共享我的图像。

是否可以通过外部 FB 应用程序在我们的应用程序中共享图像?

推特也一样,链接也一样?

已解决这是通过使用 ShareKit 解决的唯一的问题是你不能直接在推特上发布图片。所以你必须在你的服务器上上传图片并将那个 URL 传递给 twitter。Sharekit 摇滚

4

3 回答 3

1

https://github.com/ShareKit/ShareKit

尝试使用 sharekit 它很有用.. 按照所有步骤进行操作,如果有,请查询而不是回发

于 2012-07-19T10:43:22.417 回答
0

将 FBConnect 添加到您的项目中,并使用以下代码在 facebook 上共享捕获图像。还将委托 FBSessionDelegate、FBDialogDelegate、FBRequestDelegate 添加到您的 .h 文件中。如果您想共享本地图像而不需要在服务器上上传图像。将 uiimage 对象传递给 facebook 参数。

if (facebook == nil) {
        facebook = [[Facebook alloc] initWithAppId:@"your facebook key "];


    }   


    NSArray* permissions =  [NSArray arrayWithObjects:
                             @"publish_stream", @"offline_access", nil] ;
    //  
    [facebook authorize:permissions delegate:self];

- (BOOL) takeScreenshot
{
    UIGraphicsBeginImageContext(self.view.frame.size);
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);



    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   viewImage,@"message",                                   
                                   nil];

    [facebook requestWithGraphPath:@"me/photos"   // or use page ID instead of 'me'
                         andParams:params
                     andHttpMethod:@"POST"
                       andDelegate:self];



    return YES;
}


#pragma mark -
#pragma mark FBSessionDelegate
/**
 * Called when the user has logged in successfully.
 */
- (void)fbDidLogin {
    isFBLogged = YES;   
    [self takeScreenshot];

    if([self takeScreenshot])
    {
        UIAlertView *alert = [[UIAlertView alloc]
                              initWithTitle: @"Image share sucessfully"
                              message: nil
                              delegate: nil
                              cancelButtonTitle:@"OK"
                              otherButtonTitles:nil];
        [alert show];
        [alert release];
    }
    else
    {
        UIAlertView *alert = [[UIAlertView alloc]
                              initWithTitle: @"Image share unsucessfully"
                              message: nil
                              delegate: nil
                              cancelButtonTitle:@"OK"
                              otherButtonTitles:nil];
        [alert show];
        [alert release];
    }


}
于 2012-08-17T12:52:19.200 回答