我有一个app proj和facebook样本登录项目。我需要将两者结合在一起,以便用户提示登录facebook然后导致应用程序。我不知道如何开始,如果我的方法是正确的。
我做了什么: 只需在我的应用程序中插入delegate.m,delegate.h,login.m,login.h,login.xib文件作为另一个类组。 复制login.xib中的视图并将其粘贴到mainwindow.xib中。 将类定制为FBLoginView(作为选项提供)。
我得到的错误:
2012-12-05 14:43:17.370 myapp [2312:c07]未知类FBLoginView in Interface Builder文件。 2012-12-05 14:43:17.400 myapp [2312:c07] Interface Builder文件中的未知类FBLoginView。 2012-12-05 14:43:17.403 myapp [2312:c07] *由于未被捕获而终止应用程序 异常'NSUnknownKeyException',原因:'[ setValue:forUndefinedKey:]:此类不是键值 符合编码的关键代表。' * 第一次抛出调用堆栈:(0x19ce012 0x2181e7e 0x1a56fb1 0x652711 0x5d3ec8 0x5d39b7 0x9d2573 0x5fe428 0xb9f0cc 0x2195663 0x19c945a 0xb9dbcf 0xb9f98d 0x981ceb 0x982002 0x980ed6 0x992315 0x99324b 0x984cf8 0x281edf9 0x281ead0 0x1943bf5 0x1943962 0x1974bb6 0x1973f44 0x1973e1b 0x9807da 0x98265c 0x2c8d 0x2bc5)libc ++ abi.dylib:terminate 叫抛出异常(lldb)
无论如何要解决这个问题,还是应该有更好的整合方式?
请帮助谢谢。
答案 0 :(得分:11)
昨天我遇到了同样的问题。有两种解决方案:
Other Linker Flags
写-ObjC
[FBLoginView class]
,例如:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[FBLoginView class];
// Override point for customization after application launch.
return YES;
}
参考:https://developers.facebook.com/ios/login-ui-control/
@shashwat更新:
您可能还想在项目中添加-ObjC链接器标志。 但是,如果您选择这样做,您将增加其大小 您的可执行文件(由于其他SDK对象代码加载到您的 应用)。您可以了解更多有关此权衡的信息,具体是什么 -ObjC标志,以及如何在我们的故障排除指南中进行设置。
在[FBLoginView class];
中添加didFinishLaunchingWithOptions
将解决此问题。
答案 1 :(得分:0)
我提供了一个在Facebook上发布的简单项目。请检查一下。你还需要一个来自facebook的API密钥,要么从你使用的示例代码中获取它,就像我在下面提供给你的那样,但它真的只是在项目中显示什么。或者从Facebook Developers帐户获取您自己的密钥,然后将其制作完成,然后在项目中使用它。
http://github.com/reallylongaddress/iPhone-Facebook-Graph-API
答案 2 :(得分:0)
我有同样的问题,这个文件对解决问题很有价值。 (请参阅本页的“图形”部分)
https://developers.facebook.com/docs/ios/login-ui-control/
它也可能对您有所帮助。