0

アプリに FB で共有したい画像があります。

これで、iPhone に FB アプリがインストールされました。

私が欲しいのは、アプリの画像で共有をタップすると、FBアプリが開き、そこで画像を共有できるようになることです。

外部の FB アプリを介してアプリ内の画像を共有することはできますか?

ツイッターとリンクも同じ?

解決済み これは、 ShareKit を使用することで解決されました。唯一のことは、Twitterに画像を直接投稿できないことでした. そのため、サーバーに画像をアップロードし、その URL を Twitter に渡す必要があります。シェアキットは最高

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 に答える