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];
}