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

时间:2015-04-08 01:05:22

标签: facebook swift parse-platform sdk

我知道有关于这个问题的类似帖子,但似乎没有任何效果。

我正在尝试让我的用户注册/使用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

我收到错误消息“使用未解析的标识符'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>

我做错了什么?非常沮丧,但我最终会弄清楚。

4 个答案:

答案 0 :(得分:11)

试试这个:

import Bolts
import ParseFacebookUtilsV4
import FBSDKCoreKit
import FBSDKLoginKit

答案 1 :(得分:8)

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

因此,如果您希望您的应用按照您的代码工作,请使用ParseFacebookUtils.Framework并避免使用ParseFacebookUtilsV4.Framework。但是如果你想使用ParseFacebookUtilsV4.Framework,你必须在你的快速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)
}

桥接标题更改:

#import <FBSDKCoreKit/FBSDKCoreKit.h>

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

#import <ParseFacebookUtilsV4/PFFacebookUtils.h>

注意添加V4后的小变化。

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

答案 2 :(得分:3)

确保您已正确设置桥接标头。

如果在“Project Navigator”中单击项目,然后单击目标,单击Build Settings,向下滚动到“Swift Compiler - Code Generation”,您应该会看到 Objective-C Briding Header的行

在此行中,您需要输入桥接标题:

enter image description here

  

<强>项目名/你的桥接-Header.h

答案 3 :(得分:3)

当我在cocoapods(use_frameworks!)中启用框架时,这发生在我身上 - 一旦我添加&#34;导入ParseFacebookUtilsV4&#34; Xcode能够找到PFFacebookUtils。