2015-10-18 5 views
2

Я создал код swift, который использует facebook SDK 4.x. Код использовал FBSDKShareButton и работал очень хорошо. Это код:Swift - Опубликовать прямо на facebook

let content : FBSDKShareLinkContent = FBSDKShareLinkContent() 
      content.contentURL = NSURL(string: "http://alexandreccarmo.com") 
      content.contentTitle = "Teste" 
      content.contentDescription = "teste teste" 
      content.imageURL = NSURL(string: "xxxx/2.jpg") 


      let button : FBSDKShareButton = FBSDKShareButton() 
      button.shareContent = content 
      button.frame = CGRectMake((UIScreen.mainScreen().bounds.width - 100) * 0.5, 50, 100, 25) 
      self.view.addSubview(button) 

Но мне нужно разделить без диалога использования facebook. Когда пользователь нажимает на кнопку моего приложения, мне нужно делиться непосредственно на их facebook. Я попытался это:

let contentx : FBSDKShareLinkContent = FBSDKShareLinkContent() 
      contentx.contentURL = NSURL(string: "http://alexandreccarmo.com") 
      contentx.contentTitle = "Testexxxxx" 
      contentx.contentDescription = "teste testexxx" 
      contentx.imageURL = NSURL(string: "xxxx/2.jpg") 

      FBSDKShareAPI.shareWithContent(contentx, delegate: nil) 

Но я получаю эту ошибку:

FacebookLogin [6721: 3464359] FBSDKLog: Внимание: [FBSDKAccessToken currentAccessToken] отсутствует publish_actions разрешения

Я прочитал на Facebook разработчикам, что мне нужно запросить «publish_actions», когда мне нужно отправить share. Но я не понимаю, как я могу это сделать. Кто-нибудь знает?

ответ

1

Так вот код, который я использовал для публикации изображения на Facebook без Facebook SDK:

func actionTapped(sender: AnyObject) { 

    let objectsToShare = //reference to image 
    let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil) 
    activityVC.completionWithItemsHandler = actionCompleted 
    presentViewController(activityVC, animated: true, completion: nil) 
} 

func actionCompleted(activityType: String!, completed: Bool, returnedItems: [AnyObject]!, error: NSError!) { 
    // Return if cancelled 
    if (!completed) { 
     return 
    } 
    close() 
} 

Вы можете проверить эти ссылки, а также:

  1. Can I use UIActivityViewController to share on Facebook ?
  2. http://roadfiresoftware.com/2014/02/how-to-add-facebook-and-twitter-sharing-to-an-ios-app/

Надеюсь, это поможет.

+1

Я нашел способ: https://developers.facebook.com/docs/ios/graph#posting –

Смежные вопросы