Поделиться на Facebook iOS 11 Swift

В версиях ниже 11 ShareButton to facebook работает успешно, но в 11 версии эта функция не работает. Что можете посоветовать?

if SLComposeViewController.isAvailable(forServiceType: SLServiceTypeFacebook) {
        var vc: SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
        vc.setInitialText("My text")
        self.present(vc, animated: true, completion: nil)
    }

person Sasha    schedule 11.10.2017    source источник
comment
Вы должны использовать UIActivityViewController, если у вас нет собственного расширения общего доступа.   -  person thibaut noah    schedule 11.10.2017
comment
Посмотрите на эту ссылку stackoverflow.com/questions/ 44879798/ может оказаться полезным.   -  person Gagan_iOS    schedule 11.10.2017


Ответы (3)


Вы можете использовать facebook sdk для обмена контентом.

Шаг 1:

установить модуль :- pod 'FacebookShare'

Шаг 2:

импортировать FBSDKShareKit

Шаг 3:

func shareTextOnFaceBook() {
    let shareContent = ShareLinkContent()
    shareContent.contentURL = URL.init(string: "https://developers.facebook.com")! //your link
    shareContent.quote = "Text to be shared"
    ShareDialog(fromViewController: self, content: shareContent, delegate: self).show()
}

func sharer(_ sharer: Sharing, didCompleteWithResults results: [String : Any]) {
    if sharer.shareContent.pageID != nil {
        print("Share: Success")
    }
}
func sharer(_ sharer: Sharing, didFailWithError error: Error) {
    print("Share: Fail")
}
func sharerDidCancel(_ sharer: Sharing) {
    print("Share: Cancel")
}

Шаг 4. Необходимо добавить это в Info.plist

<key>LSApplicationQueriesSchemes</key>
<array>
        <string>fbauth2</string>
</array>
person Jaydeep Vyas    schedule 03.11.2018
comment
На шаге 3 обратный вызов не работает, есть идеи, как решить? - person Balaach; 03.11.2019
comment
@Balaach Вы должны добавить делегата SharingDelegate. - person jaya raj; 21.01.2020

Все социальные константы (facebook, twitter, LinkedIn и другие) устарели в iOS 11.

См. здесь: https://developer.apple.com/documentation/social/social_constants

Вы можете использовать FBSDKShareKit для функции обмена на Facebook.

https://developers.facebook.com/docs/sharing/ios/

person shilei365    schedule 12.10.2017

Теперь стало проще и надежнее делиться медиафайлами в Facebook с помощью FBSDKShareKit. Вы можете перейти по ссылке ниже для подробного руководства.

Facebook, Messenger — фото, Видео, обмен ссылками в iOS Swift.

person emraz    schedule 09.06.2021