iOS12.1系统分享和UIAlertControllerStyleActionSheet崩溃

最近提交了一个懒猪清单的新版本,本来为了快速没有选择支持iPad,但是苹果审核却一直反馈系统分享崩溃。

用真机测试了几次都没发现这个问题,于是查看崩溃时间和记录,发现苹果审核虽然提示的说是iPhone崩溃,但是他们其实测试的一直是在iPad上测试的,即便我没有选择支持iPad,但是他们还是用的iPad下载用的iPhone版本。就问你坑不坑!

所以在使用系统分享弹窗UIActivityViewController和普通弹窗使用UIAlertControllerStyleActionSheet模式的时候,要支持iPad的,之前是ipad适配是添加一个UIPopoverController,比如下面这样

UIPopoverController *popup = [[UIPopoverController alloc] initWithContentViewController:activityVC];
[popup presentPopoverFromRect:CGRectMake(HDScreenWidth/2, HDScreenHeight/4, 0, 0)inView:VC.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

因为写的比较早,所以虽然标记的即将废弃,但是一直没出问题,但是现在发现在iOS12上,这个真的废了,所以这个需要用下面推荐的方式

activityVC.modalPresentationStyle = UIModalPresentationPopover;
activityVC.popoverPresentationController.sourceView = tempShareView;
[VC presentViewController:activityVC animated:true completion:nil];

好了,这个总结起来就是两点

1、就算工程项目中,设置的device只支持iPhone,但是苹果测试的还是用的iPad运行的这个软件的小屏模式,所以就算在后台反馈是iPhone崩溃,但是也别被坑了,记得看看iPad。

2、这次iOS12改版比较大,多用新手机测试下咯~,本身这些不是大问题,但是就是懒的查,哈哈

Last modification:November 11th, 2018 at 02:17 pm
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment