0

我正在构建一个带有 Facebook 登录和 Unity-Swift 集成的应用程序。当我在 Xcode 中构建应用程序时,我在 DemoApp-Swift.h 文件中遇到了语义问题泛型问题。错误说FBSDKLoginButtonDelegate是未知类。查看我的代码:

LoginViewController.swift

import UIKit
import FBSDKLoginKit
import FBSDKShareKit
import FBSDKCoreKit
import Firebase
import Toast_Swift
import TRON
import CoreData

class LoginViewController: UIViewController, FBSDKLoginButtonDelegate{


    let loginButton : FBSDKLoginButton = {
        let button = FBSDKLoginButton()
        button.readPermissions=["email"]
        return button
    }()

    override func viewDidLoad() {
        super.viewDidLoad()

        view.addSubview(loginButton)
        //            //frame's are obselete, please use constraints instead because its 2016 after all
        loginButton.frame = CGRect(x: 110, y: 300, width: view.frame.width - 200, height: 30)

        if (FBSDKAccessToken.current() != nil ){
           //some code
        }
        loginButton.delegate = self
    }



    func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) {
        print("User Logged Out")

    }

    func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {

        self.view.makeToastActivity(.center)

        if error != nil {
            print(error)
            return
        }
        let fbloginresult : FBSDKLoginManagerLoginResult = result
        if result.isCancelled {
            return
        }
        if(fbloginresult.grantedPermissions.contains("email"))
        {

        }

    }
}

AppDelegate.swift

import UIKit
import FBSDKCoreKit
import FBSDKShareKit
import FBSDKLoginKit
import Firebase
import CoreData

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    var application: UIApplication?

    @objc var currentUnityController: UnityAppController!

    var isUnityRunning = false

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

        FirebaseApp.configure()

        FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)

        window = UIWindow(frame: UIScreen.main.bounds)
        window?.rootViewController = LoginViewController()
        self.application = application
        unity_init(CommandLine.argc, CommandLine.unsafeArgv)
        currentUnityController = UnityAppController()

        currentUnityController.application(application, didFinishLaunchingWithOptions:launchOptions)
        startUnity()
        stopUnity()
         window?.makeKeyAndVisible()
        return true
    }

    func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

        let handled = FBSDKApplicationDelegate.sharedInstance().application(app, open: url, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String!, annotation: options[UIApplicationOpenURLOptionsKey.annotation])

        return handled
    }
//some unity codes
}

桥接头.h

#ifndef BRIDGING_HEADER
#define BRIDGING_HEADER

#import <UIKit/UIKit.h>
#import "UnityUtils.h"
#import "UnityAppController.h"
#import "UnityInterface.h"

#endif /* BRIDGING_HEADER */

我花了更多时间来修复它,但我无法弄清楚。我可以使用 Xcode 编译器建议来解决这个问题,但是当我构建存档文件时,它总是会因同样的问题而失败。

请帮我。

DemoApp-swift.h 上的问题

4

0 回答 0