我知道有关于这个问题的类似帖子,但似乎没有任何效果。
我正在尝试让我的用户能够注册/登录 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 中“设置”下的所有步骤。
这一切都在 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>
我究竟做错了什么?非常沮丧,但我最终会弄清楚的。
最佳答案
从我的想法来看,您可能使用了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)
}
桥接 header 更改:
#import <FBSDKCoreKit/FBSDKCoreKit.h>
不确定 Utils 导入,但如果需要,请将桥接头中的旧导入代码 #import ParseFacebookUtils/PFFacebookUtils.h 替换为这个
#import <ParseFacebookUtilsV4/PFFacebookUtils.h>
请注意添加 V4 后的微小变化。
我希望我能以某种方式帮助你。