2

我已经把 Facebook loginview 代码像这样

 (void)viewDidLoad {    
    [super viewDidLoad];

    // Create Login View so that the app will be granted "status_update" permission.
    loginview = [[FBLoginView alloc] init];

    loginview.frame = CGRectOffset(loginview.frame, 5, 5);
    loginview.delegate = self;

    [self.view addSubview:loginview];

    [loginview sizeToFit];


  }

在我第一次登录时它工作正常。但是登录后,当我从另一个视图跳转到这个视图时,它会使应用程序崩溃。

有什么问题?我没明白。

4

3 回答 3

2

我有同样的问题。我通过这样做来修复它:

-(void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    // This isn't public, so you need to use performSelector...
    [fbLoginView performSelector:@selector(unwireViewForSession)]; 
}

这是基于此处的错误报告: https ://github.com/buzztabapp/facebook-ios-sdk/commit/2301de144958a5502f9dae0a1bb7c234873581ba

于 2013-04-15T17:23:25.563 回答
0

也许你可以试试这个:

-(void)viewDidLoad
{
   ...
   static id sharedInstance = self;
   loginview.delegate = sharedInstance;
   ...
}

通过将委托视图实例创建为静态,您将其存储在与 facebook 登录视图(在静态范围内创建)相同的范围内。您可以避免错误的访问错误。

于 2014-08-02T11:03:44.373 回答
0

在使用 FBLoginView 关闭 ViewController 时,我已经退出了同样的问题。我通过FBLoginView在调用之前将委托设置为 nil解决了这个问题dismissViewControllerAnimated:completion:

...
self.loginFBView.delegate = nil;
[self dismissViewControllerAnimated:NO completion:nil];
于 2014-12-10T00:09:19.510 回答