我遵循官方 FB 文档中的集成步骤,并实现了 SDK 的“登录”和“发布到墙”功能,一切正常,但问题是只有当我使用主应用程序委托(delegate) .h/时它才起作用.m 文件。 但目前我需要将其放入另一个 .h/.m 文件中 - 登录有效,但“fbDidLogin”回调从未调用,我使用 NSLog 进行检查。我不太擅长 ObjC,并且使用游戏引擎,所以我想我错过了一些私有(private)/公共(public)声明的东西等。你能引导我朝正确的方向来修复它吗?提前致谢!
代码如下所示:
.h
#import "FBConnect.h"
...
@interface S3DEngine_EAGLView : UIView <UITextFieldDelegate, FBSessionDelegate>
{
@public Facebook *facebook;
@private
...
EAGLContext *pEAGLContext ;
...
}
@property NSTimeInterval iAnimationInterval;
@property(nonatomic, retain) NSMutableDictionary *achievementsDictionary;
@property (nonatomic, retain) Facebook *facebook;
...
.m
@implementation S3DEngine_EAGLView
...
@synthesize facebook;
...
- (void)fbDidLogin {
}
...
最佳答案
如果您将 Facebook 委托(delegate)分配给您的 viewController,它将被触发。这就是我的想法,因为您正在为 Facebook 实例定义一个属性,您是否将其分配给应用程序委托(delegate)中的属性?如果是这样,只需将 Facebook 实现从应用程序委托(delegate)移至您的 viewController。
关于objective-c - 实现 Facebook iOS SDK - 无 "fbDidLogin"回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10163851/