不确定如何使用CICrop裁剪图像

我试图用CICrop裁剪图像,但是当我尝试裁剪时,它崩溃与此错误信息:

终止应用程序由于未捕获的exception“NSUnknownKeyException”,原因:'[setValue:forUndefinedKey:]:此类不是密钥CIAttributeTypeRectangle编码兼容的值。 ***第一掷调用堆栈:(0x1847fc2d8 0x1964c80e4 0x1847fbf5c 0x184e34a4c 0x185635480 0x10005e554 0x10005eb7c 0x1892a9398 0x189292474 0x1892a8d34 0x1892a89c0 0x1892a1efc 0x189275120 0x1895162b8 0x189273634 0x1847b4240 0x1847b34e4 0x1847b1594 0x1846dd2d4 0x18e1336fc 0x1892daf40 0x10006481c 0x196b72a08)的libc ++ abi.dylib:与typesNSException的未捕获的exception终止

这是我的代码:

@IBAction func CropButton(sender: UIButton) { let CropBoxHeight = CGFloat(200) let CropBoxWidth = CGFloat(200) let Rectangle = CIVector(x: view.center.x, y: view.center.y, z: 200, w: 200) let filter = CIFilter(name: "CICrop") let inputImage = CIImage(image: originalImage) let ciContext = CIContext(options: nil) filter.setDefaults() filter.setValue(inputImage, forKey: kCIInputImageKey) filter.setValue(Rectangle, forKey: kCIAttributeTypeRectangle) let originalOrientation: UIImageOrientation = imageView.image!.imageOrientation let originalScale = imageView.image!.scale let cgImage = ciContext.createCGImage(filter.outputImage, fromRect: inputImage.extent()) imageView.image = UIImage(CGImage: cgImage, scale: originalScale, orientation: originalOrientation)! } 

它在这一行崩溃: filter.setValue(Rectangle, forKey: kCIAttributeTypeRectangle)

看来你需要使用

 filter.setValue(Rectangle, forKey: "inputRectangle") 

代替

 filter.setValue(Rectangle, forKey: kCIAttributeTypeRectangle) 

这可以在官方文档中find。 但是,我没有find任何内置的常量。