我正在使用Core Image框架开发一个应用程序。一切都在模拟器上工作正常但是当我在设备上运行应用程序时,我的应用程序在下面的一段代码中使用EXC_BAD_ACCESS崩溃。
CIFilter *myFilter = [CIFilter filterWithName:@"CIBumpDistortion"];
[myFilter setDefaults];
[myFilter setValue: [CIImage imageWithCGImage:[self.storyBoardImage CGImage]] forKey: kCIInputImageKey];//<----self.storyBoardImage is an UIImage and not being released.
[myFilter setValue: [CIVector vectorWithX:self.leftEyePosition.x Y:self.leftEyePosition.y]
forKey: kCIInputCenterKey];<-------Here my app crashed(EXC_BAD_ACCESS )
注意:我在我的应用中使用ARC。
答案 0 :(得分:1)
错误来自于IOS上无法使用kCIInputCenterKey的事实。正如您在文档here中所看到的,它仅适用于OSX 10.5及更高版本。
这可能是它在模拟器上运行而不是在设备本身上工作的原因。
答案 1 :(得分:0)
问题解决的问题是:我使用kCIInputCenterKey
作为半径的输入密钥中心,但是kCIInputCenterKey
仅由OSX支持而不是iOS,因此它在模拟器上工作正常但在设备上没有
我使用kCIInputCenterKey
更改了@"inputCenter"
并且它有效。