Interface Builder文件中的未知类FBSDKLoginButton

我正在经历一个令我非常沮丧的构build问题,我的全新项目。 我正在尝试整合Facebook的iOS SDK,但出于某种原因,我正在得到一些奇怪的错误。 尝试使用FBSDKLoginKit在故事板视图中显示FBSDKLoginButton时。

第一个提示是错误的是当我尝试#import <FBSDKLoginKit/FBSDKLoginKit.h> (这个错误只出现在编辑器中,它仍然编译好):

“无法build立模块FBSDKLoginKit”

奇怪的是,这个“错误”在摆弄了一些与模块有关的构build设置之后就消失了,即使我把它们设置回原来的值。

另外有意思的是,如果我从视图控制器(例如,以编程方式添加button)明确引用FBSDKLoginButton类,那么基于故事板的实例化工作正常。 所以我猜这肯定是一些链接器的问题,但是我承认这不是一个专业的东西。

Facebook的SDK文档没有提到这个问题,我可以find,这是奇怪的,因为就像我说这是一个全新的清洁项目。

我的不好, 文档提到这一点 ,并build议解决它,就像我已经想通过在application didFinishLaunchingWithOptions:引用FBSDKLoginButtonapplication didFinishLaunchingWithOptions: 。 (坦率地说,你在哪里引用它并不重要,所以在哪里感觉最舒服。对我来说,视图控制器更有意义。)

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. [FBSDKLoginButton class]; ... return YES; } 

对于Swift使用FBSDKLoginButton.superclass()

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. FBSDKLoginButton.superclass() return true }