#ios #cocos2d-x
#iOS #cocos2d-x
Вопрос:
Я искал, но не нашел решения для загрузки скриншота на Facebook на iOS
В cocos2d-x, gamescene.cpp :
void GameScene::takeScreenshot()
{
SoundManager::getInstance()->playSound("sound2.mp3");
CCSize size = CCDirector::sharedDirector()->getWinSize();
CCRenderTexture* texture = CCRenderTexture::create((int)size.width, (int)size.height);
texture->setPosition(ccp(size.width/2, size.height/2));
texture->begin();
CCDirector::sharedDirector()->getRunningScene()->visit();
texture->end();
texture->saveToFile("screenshot.png", kCCImageFormatPNG);
Link::postToFacebook();
}
по ссылке: функция postToFacebook :
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[controller setInitialText:@"First post from my iPhone app"];
[controller addURL:[NSURL URLWithString:@"http://www.jinibot.com"]];
// [controller addImage:image];
[controller addImage:[UIImage imageNamed:@"screenshot.png"]];
[controller dismissViewControllerAnimated:YES completion:nil];
//add as many images as you want
// [controller presentViewController:mail animated:YES completion:nil];
}
но это не работает.
Помогите мне, пожалуйста. Спасибо!
Комментарии:
1. Сначала посмотрите, дает ли ваш метод take screen shot снимок экрана или нет?? Если это дает вам снимок экрана, то это проблема где-то в вашем методе обмена fb.
2. Это дало мне скриншот. И я не знаю, как получить этот скриншот и поделиться им в FB.
3. Установите возвращаемый тип метода скриншота как UIImage. И пока вы делитесь изображением с помощью FB, вызывайте этот метод. Не стесняйтесь обращаться за помощью, если вам нужна дополнительная помощь по этому поводу.
Ответ №1:
Проблема с вашим кодом
[controller addImage:[UIImage imageNamed:@"screenshot.png"]];
Этот метод
texture->saveToFile("screenshot.png", kCCImageFormatPNG);
сохраняет изображение в каталоге документов, но здесь вы используете изображение как изображение пакета, которое невозможно получить.
Итак, создайте UIImage
объект из NSDocuments
пути к каталогу.
Код будет работать нормально. 🙂