2016-05-19 5 views
1
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) 
    { 
     imageUser.hidden=NO; 
//   [imageUser sendSubviewToBack:_horizontalScrollView]; 

     SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 


     UIImage *goImage=[[UIImage alloc]init]; 
     goImage=[self scaleImage:image123]; 

     [controller setInitialText:@"Check out my pic from "]; 
     [controller addURL:[NSURL URLWithString:@"www.awesomeapp.com"]]; 
     [controller addImage:goImage]; 
     imageUser.hidden=YES; 

     [self presentViewController:controller animated:YES completion:Nil]; 
    } 

Я прошел через множество вопросов по stackoverflow и попробовал почти все. Некоторые пользователи сообщили об этом как об ошибке, если у нас есть какой-либо другой способ, благодаря которому я могу достичь своей цели. Он работает как шарм, когда Facebook приложение не существует, но когда приложение там это не будет работать:Я не могу поделиться содержимым моего приложения iOS с Facebook, когда установлено приложение для Facebook.

[controller addURL:[NSURL URLWithString:@"www.awesomeapp.com"]]; 

Пожалуйста, помогите мне достичь своей цели. Заранее спасибо.

+0

попытался добавить http: // при запуске URL-адреса? –

ответ

0

я тоже направился вверх с проблемой, некоторые, как мне удалось с FBSDKShareKit

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]]) { 
     FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init]; 
     NSString * UrlString = [NSString stringWithFormat:@"https://www.google.co.in/"]; 
           NSString * Subject = [NSString stringWithFormat:@"FBSDKShareKit is an alternative to this issue"]; 
     content.contentURL = [NSURL URLWithString:UrlString]; 
     content.contentTitle = @"FBSDKShareKit"; 
     content.contentDescription = Subject; 
     content.imageURL = [NSURL URLWithString:@"https://i.vimeocdn.com/portrait/58832_300x300.jpg"]; 
     FBSDKShareDialog *dialog = [[FBSDKShareDialog alloc] init]; 
     dialog.fromViewController = self; 
     dialog.shareContent = content; 
     dialog.mode = FBSDKShareDialogModeFeedBrowser; 
     [dialog show]; 
}else{ 
    //Go with your own method to share in FaceBook 
} 

В моем стручок файле:

pod 'FBSDKShareKit', '~> 4.6.0' 

dialog.mode = FBSDKShareDialogModeFeedBrowser он открывает fbShareDialog в вашей приложение, состоящее из всех данных. Попробуйте другие альтернативы для такого режима, как FBSDKShareDialogModeShareSheet, FBSDKShareDialogModeBrowser, FBSDKShareDialogModeWeb ... он также может помочь вам. Я нашел FBSDKShareDialogModeFeedBrowser как удовлетворяющий. Попробуйте, дайте мне знать, работает ли это или нет.

+0

Есть ли у нас другие альтернативы, кроме использования FBSDK? – Alex

+0

Я тоже пробовал другие альтернативы, но не повезло. В конце концов, с FBSDK, я не думаю, что есть другие лучшие способы выхода. FB не хочет предварительно заполнять содержимое во время совместного использования. [Link] (https://developers.facebook.com/policy/#control) Контрольная точка3 по ссылке выше. – Gokul

+0

Спасибо, Гокул. Это отличная информация. Счастливое кодирование. – Alex