2

我不知道为什么 setInitialText 函数在我的 SLServiceTypeFacebook 实现中不起作用。我用于 Facebook 和 Twitter 的代码几乎相同,除了 Facebook 替换了 Twitter 这个词,而且 twitter 工作得很好。任何帮助表示赞赏。谢谢

if ([buttonTitle isEqualToString:@"Facebook"]){

        if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
        {

                SLComposeViewController *faceSheet = [[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook] init];
                NSLog(@"%@", messageField.text);//This returns the appropriate string
                [faceSheet setInitialText:messageField.text];
                //The facebook VC appears, but initial text is not set to messageField.text
                [self presentViewController:faceSheet animated:YES completion:nil];
         }
 }
4

2 回答 2

0

这当然是一个奇怪的问题,并且看到我没有看到任何其他明显错误的地方,所以这是我的建议。由于您在作曲家上设置的无关初始化程序,可能会以某种方式搞砸。composeViewControllerForServiceType:alloc/init 已经是 SLComposeViewController 的一个实例,所以不需要添加 init。替换这个:

SLComposeViewController *faceSheet = [[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook] init];

有了这条线:

SLComposeViewController *faceSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
于 2013-08-15T04:56:03.017 回答
0

这不是问题,Facebook 不再允许这样做。Facebook 更改了共享功能的平台隐私政策。使用以下链接作为参考

https://developers.facebook.com/docs/sharing/ios

于 2015-12-15T09:08:15.983 回答