Ios SLServiceTypeFacebook的滞后演示

Ios SLServiceTypeFacebook的滞后演示,ios,iphone,objective-c,facebook,uiimagepickercontroller,Ios,Iphone,Objective C,Facebook,Uiimagepickercontroller,所以我在Facebook上发了一篇帖子,希望用户在选择之前先选择一张图片。 一旦图像被选中,我就会显示Facebook。问题是,当我直接展示Facebook时,没有图像拾取部分,它看起来很好。当我在选择图片后显示它时,Facebook共享看起来很活跃,但很滞后。好像动作的帧率很低或是其他什么 这是我的密码: self.portraitPicker = [[UIImagePickerController alloc] init]; #if !(TARGET_IPHONE_SIMULATOR

所以我在Facebook上发了一篇帖子,希望用户在选择之前先选择一张图片。 一旦图像被选中,我就会显示Facebook。问题是,当我直接展示Facebook时,没有图像拾取部分,它看起来很好。当我在选择图片后显示它时,Facebook共享看起来很活跃,但很滞后。好像动作的帧率很低或是其他什么

这是我的密码:

    self.portraitPicker = [[UIImagePickerController alloc] init];
#if !(TARGET_IPHONE_SIMULATOR)
    self.portraitPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
#endif
    [self.portraitPicker setDelegate:self];
    self.portraitPicker.allowsEditing = YES;
    [self presentViewController:self.portraitPicker animated:YES completion:nil];
现在,当这项工作完成后,我会以模式显示Facebook的帖子:

[picker dismissViewControllerAnimated:YES completion:^{
            if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
            {
                self.facebookController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
                [self.facebookController setInitialText:@"Some text"];
                [facebookController addImage:pickedImage];
                [self presentViewController:self.facebookController animated:NO completion:nil];
            }
        }];
我可以在
didFinishPickingMediaWithInfo
ImagePickerControllerIDCancel
中执行此操作,没关系,问题仍然会出现

出于绝望,我试着:

  • 在主线程上显示它
  • 异步显示
  • 将其显示在块外
  • 而是从AppDelegate的rootviewcontroller显示它
这与Facebook无关,因为它与
SLServiceTypeTwitter
以及
MFMessageComposeViewController
都有关系


似乎无法摆脱只显示图像选择器的拉格动画。有人知道这是什么原因吗?

鉴于缺乏响应和类似问题,我认为原因是我自己的架构。 事实证明,在显示摄影机选择器后调用了我的viewcontroller的ViewDidDisplay之一(因为它变为活动的viewcontroller,因此变为非活动的viewcontroller,将控制权返还给原始的viewcontroller)


阻止此视图中发生的后台调用和动画解决了此问题。我仍然不知道为什么称它为延迟(即10秒,甚至是100秒以后,当什么都没有发生时)仍然会出现延迟的外观,但它确实存在。

它只是在第一次演示时延迟,还是每次你演示时都延迟?每次都会延迟。如果我要求在5秒钟内完成,并且在这5秒钟内显示并关闭图像选择器,则会出现延迟。但是如果我不在这5秒钟内显示图像选择器,它不会延迟。我开始认为这与我的应用程序层次结构有关,因为我找不到任何其他人提到这一点。我认为这是由于“动画:是”属性造成的,因为它等待一个动画完成,然后另一个动画开始,只需使用“动画:否”来运行它。尝试过了。没有帮助-(事实上,我也试着在最后一次演讲结束后的几秒钟内完成演讲。运气不好。但是继续演讲,我已经没有主意了。