在我的项目中,我始终使用SLComposeViewController
与第三方应用程序共享内容,但是现在,当我将iPhone更新为iOS 11 beta时,此功能不再起作用。SLComposeViewControllerCompletionHandler
总是回调SLComposeViewControllerResultCancelled
。
为什么是这样?
最佳答案
我在iOS 11中遇到关于SLComposer的问题。但是我只是删除了检查行,显然,自己的SDK在内部对我进行了验证。
删除此行可用于任何SLServiceType
:
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
因此,发展您的逻辑。就我而言:
SLComposeViewController *mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[mySLComposerSheet setInitialText:@"#myInitialTextIsHere"];
[mySLComposerSheet addURL:[NSURL URLWithString:strURL]];
[mySLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
switch (result) {
case SLComposeViewControllerResultCancelled:
NSLog(@"Post Canceled");
break;
case SLComposeViewControllerResultDone:
NSLog(@"Post Sucessful");
break;
default:
break;
}
}];
[self presentViewController:mySLComposerSheet animated:YES completion:nil];
希望我有所帮助!