Сейчас я пытаюсь реализовать функцию входа в Facebook в приложении iOS и следую руководству Facebook для разработчиков. У меня была ошибка: «Невозможно вызвать значение нефункционального типа 'UIButton?'»
Внутри ViewController.swift, 「let loginButton = signInFacebookButton ()」 ← эта строка.
Я также слежу за этим видео на YouTube Вход в Facebook в приложении (Swift 5) Xcode 11 - 2020
↓ вот изображение, которое я сделал сейчас, и когда пользователи нажимают 「Войти с Facebook 」, тогда это должно быть как Фото 2.
Как я могу исправить эту ошибку и сделать вход в Facebook в реализации?
//
// ViewController.swift
// Nomad-Party
//
// Created by Alex Gaskins on 7/27/20.
// Copyright © 2020 Alex Gaskins. All rights reserved.
//
import UIKit
import FBSDKLoginKit
class ViewController: UIViewController {
@IBOutlet weak var titleLabel: UILabel!
//@IBOutlet weak var signInFacebookButton: UIButton!
@IBOutlet weak var signInGoogleButton: UIButton!
@IBOutlet weak var createAccountButton: UIButton!
@IBOutlet weak var termsOfServiceLabel: UILabel!
@IBOutlet weak var orLabel: UILabel!
@IBOutlet weak var signInFacebookButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
//Error ↓ Cannot call value of non-function type 'UIButton?'
let loginButton = signInFacebookButton()
loginButton.center = view.center
view.addSubview(loginButton)
// Swift
//
// Extend the code sample from 6a. Add Facebook Login to Your Code
// Add to your viewDidLoad method:
loginButton.permissions = ["public_profile", "email"]
setupUI()
}
func setupUI() {
setupHeaderTitle()
setupOrLabel()
setupTermsLabel()
setupFacebookButton()
setupGoogleButton()
setupCreateAccountButton()
}
}
AppDelegate.swift ↓
// AppDelegate.swift
import UIKit
import FBSDKCoreKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
ApplicationDelegate.shared.application(
application,
didFinishLaunchingWithOptions: launchOptions
)
return true
}
func application(
_ app: UIApplication,
open url: URL,
options: [UIApplication.OpenURLOptionsKey : Any] = [:]
) -> Bool {
ApplicationDelegate.shared.application(
app,
open: url,
sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
annotation: options[UIApplication.OpenURLOptionsKey.annotation]
)
}
}