1

我正在尝试使用FBUserSettingsViewController,但每次我尝试关闭它时它都会崩溃。我使用以下代码来显示它:

PS:它只在 ios 6 上崩溃并出现此错误:

// [FBUserSettingsViewController dealloc];

FBUserSettingsViewController *a =[[FBUserSettingsViewController alloc] init];
[a setDefaultAudience:FBSessionDefaultAudienceEveryone];
[a setDelegate:self];
[a setPublishPermissions:     [NSArray arrayWithObject:@"publish_actions"]];
[nav presentViewController:a animated:NO completion:nil];

这将其解雇:

- (void)facebookViewControllerDoneWasPressed:(id)sender{

    _facebook = [[Facebook alloc]
                 initWithAppId:@"176237615850674"
                 andDelegate:self];

    // Store the Facebook session information
    _facebook.accessToken = FBSession.activeSession.accessToken;
    _facebook.expirationDate = FBSession.activeSession.expirationDate;

    if ([nav respondsToSelector:@selector(dismissViewControllerAnimated:completion:)])
        [nav dismissViewControllerAnimated:YES completion:nil];
    else [nav dismissModalViewControllerAnimated:YES];

}

关于这个主题还有另一个问题,但那里没有任何答案

另一个问题

4

1 回答 1

0

Facebook iOS SDK 中存在错误。如果您查看 FBUserSettingsViewController 源代码中的 dealloc 方法,您会注意到它们在释放 ivars 之前调用了 [super dealloc]。同样的错误出现在 FBViewController 的 dealloc 中。

我已经修复了这两个错误并将我的更改推送到 GitHub 上的 facebook-ios-sdk 的一个分支。看看:https ://github.com/Tafkadasoh/facebook-ios-sdk

要解决您的问题,只需克隆此分支并从命令行调用“scripts/build_framework.sh”。之后,您将在“build/FacebookSDK.framework”文件夹中找到框架的固定版本。为我修复了崩溃。

于 2013-02-11T17:04:00.777 回答