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

FacebookiOSSDKにはバグがあります。FBUserSettingsViewControllerのソースコードでdeallocメソッドを見ると、ivarをリリースする前に[superdealloc]を呼び出していることがわかります。同じバグがFBViewControllerのdeallocに表示されます。

これらの2つのバグを修正し、変更をGitHubのfacebook-ios-sdkのフォークにプッシュしました。見てください:https ://github.com/Tafkadasoh/facebook-ios-sdk

問題を解決するには、このフォークのクローンを作成し、コマンドラインから「scripts/build_framework.sh」を呼び出します。その後、フレームワークの修正バージョンが「build/FacebookSDK.framework」フォルダーにあります。クラッシュを修正しました。

于 2013-02-11T17:04:00.777 に答える