看了《iOS中正确的截屏姿势》这篇文章后,在SpringBoard进程里使用下面的方法截屏:
UIView *snapshot = [UIScreen mainScreen] snapshotViewAfterScreenUpdates:YES];
UIGraphicsBeginImageContextWithOptions(snapshot.bounds.size, NO, 0.0);
[snapshot drawViewHierarchyInRect:snapshot.bounds afterScreenUpdates:YES];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
截完屏后,手机UI界面会变得很奇怪,始终感觉有一层layer在最上面,有动画转场的时候会感觉有一层很生硬地消失。重启SpringBoard又恢复正常了。。。
尝试最后将[snapshot release]掉会闪退。