Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c setInitialText不适用于IOS 8.3(facebook、社交、SLComposeViewController)_Objective C_Facebook_Ios8_Social - Fatal编程技术网

Objective c setInitialText不适用于IOS 8.3(facebook、社交、SLComposeViewController)

Objective c setInitialText不适用于IOS 8.3(facebook、社交、SLComposeViewController),objective-c,facebook,ios8,social,Objective C,Facebook,Ios8,Social,从4月24日起,最新的Facebook iPhone应用程序更新将不再像预期的那样使用SLComposeViewController的功能。任何指定的初始文本都将被忽略,尽管setInitialText方法返回true,就好像它是成功的一样。无论点击“完成”还是“取消”,对话框都会返回“完成”。我意识到这是一个苹果电话,我甚至没有使用Facebook SDK,但我已经验证了所有功能都与安装的Facebook应用程序的早期版本完美配合,但是当你在iPhone上升级Facebook应用程序时,该功能

从4月24日起,最新的Facebook iPhone应用程序更新将不再像预期的那样使用SLComposeViewController的功能。任何指定的初始文本都将被忽略,尽管setInitialText方法返回true,就好像它是成功的一样。无论点击“完成”还是“取消”,对话框都会返回“完成”。我意识到这是一个苹果电话,我甚至没有使用Facebook SDK,但我已经验证了所有功能都与安装的Facebook应用程序的早期版本完美配合,但是当你在iPhone上升级Facebook应用程序时,该功能不再如预期那样工作。 请注意,完成处理程序的结果现在总是返回“Done”-即使在您点击“Cancel”时也是如此,
setInitialText:
现在什么也不做。验证了相同的代码在4月24日发布之前有效

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

    controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];



    [controller setInitialText:@"hiiiiiii"];
    [controller setCompletionHandler:^(SLComposeViewControllerResult result)
     {
         if (result == SLComposeViewControllerResultCancelled)
         {
             NSLog(@"The user cancelled.");
         }
         else if (result == SLComposeViewControllerResultDone)
         {
             NSLog(@"The user posted to Facebook");
         }
     }];
    [self presentViewController:controller animated:YES completion:nil];
}
else
{
    SCLAlertView *alert = [[SCLAlertView alloc] init];
    [alert showWarning:self title:@"alert" subTitle:@"facebook not installed"  closeButtonTitle:@"ok" duration:0.0f];
}

setInitialText:
不再有效,因为Facebook最近更改了其关于预填充的策略,但
addURL:
仍然有效,可能有用

 SLComposeViewController *mySLComposerSheet = [[SLComposeViewController alloc] init];
mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
NSURL *url = [[NSURL alloc] initWithString:linkString];
[mySLComposerSheet addURL:url];

[self presentViewController:mySLComposerSheet animated:YES completion:nil];

[mySLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
    NSString *output;
    switch (result) {
        case SLComposeViewControllerResultCancelled:
            NSLog(@"SLComposeViewControllerResultCancelled");
            break;
        case SLComposeViewControllerResultDone:
            NSLog(@"SLComposeViewControllerResultDone");
            break;
    }
}];
这样,我就可以在Facebook post composer中预先添加我的应用程序的URL


我希望它有用。

在撰写本文时,FB仍然不允许设置初始文本,即使使用FB SDK


我实现的一种绕过此问题的方法是将内容复制到剪贴板,并显示一个对话框,通知用户可以粘贴预设内容。

在facebook上不允许预填充,如果您正试图这样做,则在facebook上允许预填充,并且此代码(setInitialText:)在ios7上工作,在我的应用程序中,我需要它自动填充所选项目的描述。facebook上不允许预填充,这是事实。从2.3复制:“不要使用他人未创建的内容预填充标题、评论、消息或帖子的用户消息参数,即使此人可以在共享前编辑或删除内容”。这对我来说是非常清楚的me@WizKid:亲爱的,这句话对我来说也很清楚,但正如这句话本身所说,“即使该人可以在分享前编辑或删除内容”,SLCompose…Controller允许这样做,因此,我认为苹果Controller在发布前要求编辑文本不应该有任何问题。或者用户如何共享他正在使用的应用程序?我不认为用户愿意自己输入整个链接。我需要在我的应用程序中添加“共享我的应用程序”。有什么办法处理这个问题吗?