我在开发iPad应用程序时遇到了一个奇怪的行为(语言:C ++ / Objective-C):它发生在模拟器一切都没问题,换句话说应用程序运行成功,同时将程序实施到设备我收到一个难以理解的EXC_BAD_ACCESS。
这是我在Obj-C环境中的一大块代码:
-(void) BindTexture:(unsigned char*)TexBuff {
// TexBuff is a fild of a pointer list, containing data prevoisly saved
UIImager *texImg = (UIImage*)TexBuff;
CGImageRef imageRef = [texImage CGImage];
....
.... {so on} ...
}
设备在调用CGImageRef之前停留。
奇怪的是模拟器和设备之间的区别
你有什么想法吗?
答案 0 :(得分:0)
您正在向 UIImage * 投射 unsigned char * - 这不是一件好事,可能是您的EXC_BAD_ACCESS的原因。
TexBuff应该是你的原始数据阵列吗?如果是这样,请参阅这篇文章,了解如何将原始数据(例如RGBA数据)转换为CGImage: