Функции Facebook SDK не определены - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь добавить кнопку приглашения в наше приложение, чтобы пользователи могли приглашать своих друзей в Facebook Messenger, но документации практически нет, я пробовал несколько вещей.

Мой первый подход был сделать что-то очень простое, как это:

if let url = URL(string: "fb-messenger://share/?link=" + KeyCenter.urlAppStoreDownload)
{
    UIApplication.shared.open(url, options: [:], completionHandler: nil)
}

Это почти работает, и сообщение при отправке из Messenger выглядит корректно, но получатель получает сообщение с текстом «nativetrhirdparty», а не ссылку. Итак, один вопрос, может ли это быть настройкой FB Messenger на наших страницах FB?

Кроме того, я прочитал документы для iOS SDK FB здесь: https://developers.facebook.com/docs/sharing/messenger#ios

И я импортирую импорт FBSDKCoreKi, импортирую FBSDKLoginKit и импортирую FBSDKShareKit

Но когда я пробую код, подобный любому из примеров из этого документа, который ссылается на v4.29 и более поздние версии FB SDK, я получаю неопределенные ошибки, подобные этим:

Use of unresolved identifier 'FBSDKShareMessengerURLActionButton'
Use of unresolved identifier 'FBSDKShareMessengerGenericTemplateElement'
Use of unresolved identifier 'FBSDKShareMessengerGenericTemplateContent'

Итак, еще один вопрос: что мне нужно импортировать, добавить или изменить, чтобы любой из примеров кода работал?

Я видел кнопки приглашения в нескольких приложениях, так что я знаю, что кто-то там знает, как это сделать, но нет хороших примеров или документов, которые я могу найти.

Может кто-нибудь, пожалуйста, adivse?

Вот код, взятый прямо из документа, и он выдает эти ошибки.

var urlButton = FBSDKShareMessengerURLActionButton()
urlButton.title = "Visit Facebook"
urlButton.url = URL(string: "https://www.facebook.com")

var element = FBSDKShareMessengerGenericTemplateElement()
element.title = "This is a Cat Picture"
element.subtitle = "Look at this cat, wow! Amazing."
element.imageURL = URL(string: "https://static.pexels.com/photos/126407/pexels-photo-126407.jpeg")
element.button = urlButton

var content = FBSDKShareMessengerGenericTemplateContent()
content.element = element
content.pageID = /* Your page ID, required for attribution */ content.element

var messageDialog = FBSDKMessageDialog()
messageDialog.shareContent = content

if messageDialog.canShow() {
    messageDialog.show()
}

** ОБНОВЛЕНИЕ:

Операторы импорта находятся вверху файла .swift с кодом следующим образом:

import Foundation
import XLPagerTabStrip
import RKNotificationHub
import ParseLiveQuery
import FBSDKCoreKit
import FBSDKLoginKit
import FBSDKShareKit

class HomePagerViewController: ButtonBarPagerTabStripViewController, FBSDKAppInviteDialogDelegate
{
.
.
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...