【发布时间】:2019-07-12 14:20:51
【问题描述】:
我有这个扩展程序,它在应用程序目标中运行良好,但在尝试旋转相机上捕获的图像时在共享扩展程序中崩溃。如何在共享扩展中旋转图像?或者也许可以从照片库中加载图像已经在正确的方向。
extension UIImage {
func fixOrientation() -> UIImage {
switch imageOrientation {
case .up:
return self
default:
UIGraphicsBeginImageContextWithOptions(size, false, scale)
draw(in: CGRect(origin: .zero, size: size)) //Thread 1: EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=120 MB, unused=0x0)
let result = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return result!
}
}
}
崩溃截图:
【问题讨论】:
-
你在主线程上做这个?
-
@Gal,是的,我愿意。
-
我认为你使用了太多内存。
-
你会显示图片吗?如果不是,您可以使用其他方法来固定方向,例如通过 CIImage。显示它可能会使用与绘图调用相同的内存。您可以在实例化图形上下文时尝试使用更小的尺寸,然后生成更小的图像
-
@riadhluke,是的,我正在显示图像。
draw调用使用比显示更多的内存...
标签: ios swift ios-app-extension share-extension