我刚刚开始使用iOS版AddThis SDK,以便共享我的应用程序中的URL和图像。
我有一个MainViewController,它调用了一个名为“SummaryViewController”的模态 View Controller 。
在主 View Controller 上按下某个按钮后,将执行此segue。

在“SummaryViewController”上有一个UIButton负责在Facebook(或其他任何方式)上共享,并执行:

-(IBAction)shareOnFacebook {
   [AddThisSDK shareImage...];
}

问题是,它起作用了!

那么问题出在哪里呢?当用户返回主 View Controller 时,通过按“上一步”按钮,第二次打开SummaryViewController ,然后按“共享”按钮,应用程序崩溃,“无法识别的选择器发送到实例”,并且有时没有任何消息,并且线程卡在[ATCoreController topViewController]上

知道为什么会发生这种情况以及如何解决吗?第一次显示VC和第二次显示VC有什么区别?

非常感谢 !!

在MainViewController.m中:
- (IBAction)showSummary:(id)sender {
    self.summaryViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Summary ViewController"];
    [self presentModalViewController:self.summaryViewController animated:YES];
}

在SummaryViewController.m中:
- (IBAction)dismissModalViewController:(id)sender {
    [super dismissModalViewControllerAnimated:YES];
}

最佳答案

addthis.h中有一个静态方法。

+ (void)setRootViewController:(UIViewController *)rootViewController;

您应该在默认情况下第一次设置rootviewcontroller,它会设置您的viewcontroller实例,但是当您再次按下并再次打开summaryviewcontroller时,它将搜索先前分配的rootviewcontroller或top viewcontroller,因此,如果不可用,则会导致应用程序崩溃并造成严重后果。

因此,在显示弹出窗口之前,请使用此方法解决您的问题。

09-30 15:02