1

IOS 8 の SLComposeViewController に問題があります。Facebook 共有ウィンドウを表示したいのですが、それが完了したら、Twitter 共有ウィンドウを表示します。そのため、完了ブロックを使用する必要があり、保持サイクルを避けるために__weak SLComposeViewControllerを使用する必要がありますが、呼び出すときに

[viewController presentViewController:facebookSLController アニメーション:YES 完了:Nil];

facebookSLControllerはゼロです。のせいです__weak。しかし、なぜ IOS 7 でクラッシュしなかったのでしょうか? そして、どうすればこの問題を解決できますか?コードの一部を次に示します。

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

    __weak SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

    [controller setInitialText:text];

    //When facebook sharing end - we start twitter sharing
    [controller setCompletionHandler:^(SLComposeViewControllerResult result) {
        [controller dismissViewControllerAnimated:YES completion:nil];
        [self shareTwitterImage:image withText:strGetApp fromViewController:viewController];
    }];


    [controller addImage:image];

    [viewController presentViewController:controller animated:YES completion:Nil];

}
4

1 に答える 1