Los métodos FBSessionDelegate no se disparan
Estoy intentando implementar el último SDK de Facebook Connect y tengo algunos problemas. Por alguna razón, las devoluciones de llamada delegadas paraFBSessionDelegate
El protocolo no está siendo despedido. Seguí las instrucciones en la página de Facebook de git e intenté imitar la aplicación de ejemplo de Facebook, pero no tuve suerte. Me estoy volviendo loco aquí, así que voy a publicar mi código y tal vez alguien vea algo tonto que me haya perdido.
#import <Foundation/Foundation.h>
#import "FBConnect.h"
@interface FacebookWrapper : UIViewController <FBSessionDelegate, FBRequestDelegate, FBDialogDelegate>{
Facebook* _facebook;
NSArray* _permissions;
}
@property(readonly) Facebook *facebook;
- (void)login;
@end
#import "FacebookWrapper.h"
static NSString* kAppId = @"1234455667778";
@implementation FacebookWrapper
@synthesize facebook = _facebook;
- (id)init {
if (self = [super init]) {
_permissions = [[NSArray arrayWithObjects: @"read_stream", @"offline_access",nil] retain];
_facebook = [[Facebook alloc] initWithAppId:kAppId];
}
return self;
}
- (void)dealloc {
[_facebook release];
[_permissions release];
[super dealloc];
}
- (void)login {
[_facebook authorize:_permissions delegate:self];
}
- (void)fbDidLogin {
NSLog(@"Did Log In");
}
- (void)fbDidNotLogin:(BOOL)cancelled {
NSLog(@"Failed to log in");
}
- (void)fbDidLogout {
NSLog(@"Logged Out");
}
Y para llamar a esto desde otra clase,
FacebookWrapper *fw = [[FacebookWrapper alloc] init];
[fw login];
El comportamiento que estoy viendo en el teléfono es el esperado. La aplicación de Facebook se inicia en init y se solicitan permisos. El teléfono luego vuelve a poner mi aplicación en primer plano, pero los delegados deFBSessionDelegate
nunca son despedidos He intentado esto en la aplicación de muestra de Facebook usando mi ID de aplicación y funcionó bien. No tengo idea de cuál es la diferencia.