解析+ Facebook SDK问题 - 使用未解析的标识符"PFFacebookUtils"

jus*_*lbs 4 sdk facebook parse-platform swift

我知道有关于这个问题的类似帖子,但似乎没有任何工作.

我正在尝试让我的用户注册/使用Facebook,但我无法让Facebook SDK正常运行.

我已经添加了'FBSDKCoreKit.Framework'框架,正如Facebook指南所说,以及'ParseFacebookUtils.framework'.当我尝试在我的AppDelegate.swift中初始化facebook时,这里..

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) ->  Bool {
           Parse.setApplicationId("", clientKey: "")

   PFFacebookUtils.initialize()

   return true
Run Code Online (Sandbox Code Playgroud)

我得到的错误是"使用未解析的标识符'PFFacebookUtils'".我按照Parse Docs中"Setup"下的所有步骤进行操作.

这一切都在Swift中,所以这是我的桥接头文件...

//  Use this file to import your target's public headers that you would like to expose to Swift
#import <Parse/Parse.h>
#import <ParseUI/ParseUI.h>
#import <Bolts/BFTask.h>
#import <ParseFacebookUtils/PFFacebookUtils.h>
#import <FBSDKCoreKit/FBSDKCoreKit.h>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?很沮丧,但我最终会搞清楚.

小智 11

试试这个:

import Bolts
import ParseFacebookUtilsV4
import FBSDKCoreKit
import FBSDKLoginKit
Run Code Online (Sandbox Code Playgroud)


NS1*_*518 8

根据我的想法,您可能已经使用了ParseFacebookUtilsV4.Framework(这是我假设的Swift的最新支持)而不是ParseFacebookUtils.Framework(旧的或可能是需要客观C桥接的那个).

因此,如果您希望您的应用程序按照您的代码工作,请使用ParseFacebookUtils.Framework并避免使用ParseFacebookUtilsV4.Framework.但是如果你想使用ParseFacebookUtilsV4.Framework,你必须在你的swift Appdelegate中做一些改变:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
  FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}

func applicationDidBecomeActive(application: UIApplication) {
  FBSDKAppEvents.activateApp()
}

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
  return FBSDKApplicationDelegate.sharedInstance() .application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}
Run Code Online (Sandbox Code Playgroud)

桥接标题更改:

#import <FBSDKCoreKit/FBSDKCoreKit.h>
Run Code Online (Sandbox Code Playgroud)

不确定Utils导入,但如果需要,用您的桥接头中的旧导入代码#import ParseFacebookUtils/PFFacebookUtils.h替换

#import <ParseFacebookUtilsV4/PFFacebookUtils.h>
Run Code Online (Sandbox Code Playgroud)

注意添加V4的小变化.

我希望我可能在某种程度上帮助了你.