近期处理了一例iOS8上出现的Crash。从友盟获得的错误信息为:UIPopoverPresentationController should have a non-nil sourceView or barButtonItem set before the presentation occurs.

但代码中没有任何对这个类的引用,也没有发现任何间接对该类的调用。最终在StackOverflow找到答案。

简单说来是iOS8.0-8.2版本的UIWebView对<select>标签的支持有问题,多次点击会出现崩溃。

暂时先简单规避该问题,加上如下代码后本地测试未再出现崩溃。

- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion{    if (viewControllerToPresent.popoverPresentationController && !viewControllerToPresent.popoverPresentationController.sourceView) {        return;    }    [super presentViewController:viewControllerToPresent animated:flag completion:completion];}

附上StackOverflow问题链接: