Ios7 CGDataProviderCopyData和EXC_访问错误

Ios7 CGDataProviderCopyData和EXC_访问错误,ios7,exc-bad-access,xcode5,Ios7,Exc Bad Access,Xcode5,我已经将我的旧Xcode3项目导入到Xcode5中,并在下面一行获得EXC_BAD_访问权限: pixelData = (NSData*) GDataProviderCopyData(CGImageGetDataProvider(picture.image.CGImage)) 有人知道发生了什么变化吗 它发生在iOS7上。在iOS5和iOS6上工作正常。您需要使用以下功能: CFMutableDataRef m_DataRef = CFDataCreateMutableCopy(0, 0,

我已经将我的旧Xcode3项目导入到Xcode5中,并在下面一行获得EXC_BAD_访问权限:

pixelData =
 (NSData*) GDataProviderCopyData(CGImageGetDataProvider(picture.image.CGImage))
有人知道发生了什么变化吗

它发生在iOS7上。在iOS5和iOS6上工作正常。

您需要使用以下功能:

CFMutableDataRef m_DataRef = CFDataCreateMutableCopy(0, 0, CGDataProviderCopyData(CGImageGetDataProvider(picture.image.CGImage))));
与此相反:

pixelData = (NSData*) GDataProviderCopyData(CGImageGetDataProvider(picture.image.CGImage));
选中此项:


您可以检查所涉及的任何对象是否为
nil
。请添加断言和NSLogs.picture.image.CGImage不是nil.CFMutableDataRef m_DataRef=CFDataCreateMutableCopy。。。仍然给出相同的错误。我仔细检查了picture.image.CGImage不是零,您是否更改了UInt8*m_PixelBuf=(UInt8*)CFDataGetMutableBytePtr(m_DataRef);“还有?好的,我是这样做的:UInt8*pixelDataNew=(UInt8*)CFDataGetMutableBytePtr(CFDataCreateMutableCopy(0,0,CGDataProviderCopyData(cgmagegetdataprovider(picture.image.CGImage));pixelData=(NSData*)pixelDataNew;它没有给我一个错误,但我现在如何读取图像的字节呢?char*pixelBytes=(char*)[pixelData bytes];给我一个错误。抱歉,我不知道你是否可以通过强制转换从UInt8轻松获取NSData,我建议在google中挖掘更多信息以找到更好的方法,你可以从我在回答中已附加的链接开始。