我的全新项目遇到了非常令人沮丧的构建问题。我正在尝试集成Facebook iOS SDK,但出于某种原因我得到了一些奇怪的错误。尝试使用FBSDKLoginKit在故事板视图上显示FBSDKLoginButton
时。
当我尝试#import <FBSDKLoginKit/FBSDKLoginKit.h>
时,第一个提示错误的是这个“错误”(但它只在编辑器中显示为错误;它仍然编译正常):
“无法构建模块FBSDKLoginKit。”
奇怪的是,这个“错误”在摆弄了一些与模块相关的构建设置之后就消失了,即使我将它们设置回原始值也是如此。
同样有趣的是,如果我从视图控制器中明确引用FBSDKLoginButton
类(例如以编程方式添加按钮),那么基于故事板的实例化工作正常。所以我猜这肯定是一些链接器问题或其他问题,但我肯定不是那个东西的专业人士。
Facebook SDK文档都没有提到我能找到的这个问题,这很奇怪,因为我说这是一个全新的清洁项目。
答案 0 :(得分:12)
我的不好,the documentation does mention this,建议通过引用FBSDKLoginButton
中的application
didFinishLaunchingWithOptions:
类来解决问题。 (坦率地说,无论你在哪里引用它都没关系,所以无论哪里感觉最舒服。对我来说,视图控制器更有意义。)
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[FBSDKLoginButton class];
...
return YES;
}
答案 1 :(得分:1)
对于Swift,请使用FBSDKLoginButton.superclass()
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
FBSDKLoginButton.superclass()
return true
}