Как сделать снимок экрана в приложении и опубликовать его на Facebook? - PullRequest
4 голосов
/ 06 июня 2011

Я пытаюсь использовать Facebook в своем приложении, разместив скриншот моего приложения на моей стене.

Я уже сделал функции для снятия скриншота

UIGraphicsBeginImageContext(self.view.bounds.size);
            [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
            UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
            UIGraphicsEndImageContext();

            UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);

и для размещения материала на моей стене в Facebook со значком, названием и небольшим описанием.

- (void)postToWall {


    FBStreamDialog* dialog = [[[FBStreamDialog alloc] init] autorelease];
    dialog.userMessagePrompt = @"Enter your message:";
    dialog.attachment = [NSString stringWithFormat:@"{\"name\":\"%@ share's a photo\",\"href\":\"mywebsite.com/\",\"caption\":\"%@thinks this is a nice photo\",\"description\":\"\",\"media\":[{\"type\":\"image\",\"src\":\"mywebsite.com/icon.png\",\"href\":\"mywebsite.com/\"}]}",
                         _facebookName, _facebookName];

    dialog.actionLinks = @"[{\"text\":\"Get My App\",\"href\":\"http://itunes.apple.com//\"}]"; 
}

Есть предложения, как поместить мой скриншот в метод postToWall? Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 12 июня 2011

Используя Facebook SDK для iPhone, это возможно. Вам нужно будет создать блок аргументов (NSDictionary) и отправить его в ваш проверенный сеанс Facebook.

В данном фрагменте «сессия» относится к типу Facebook *, определенному в Facebook.h SDK.

NSMutableDictionary *args = [[[NSMutableDictionary alloc] init] autorelease];
[args setObject:captionText forKey:@"caption"];
[args setObject:messageText forKey:@"message"];
[args setObject:UIImageJPEGRepresentation(yourImage, 0.7) forKey:@"picture"];

[session requestWithMethodName:@"photos.upload" andParams:args ndHttpMethod:@"POST" andDelegate:self];
1 голос
/ 06 июня 2011

Кажется, что вы не можете сделать это полностью через Facebook.Вы должны посмотреть на сайты обмена фотографиями для этого.Сначала загрузите свое изображение на этот сайт и получите ссылку.Затем поделитесь этим с помощью этого метода.

Редактировать
Я не говорю, что загрузка фотографий невозможна.Просто невозможно опубликовать фотографию на стене вместе со ссылкой на ваше приложение без предварительной загрузки.

...