摄像头视图不显示';不能在iPhone上工作,只能在另一台上工作
我制作了一个iPhone应用程序,主要功能是摄像头视图。它通过OpenGL处理相机图像,所以我可以修改帧。 当我测试我的应用程序时,它工作正常(我在荷兰有一个iPhone4SiOS5.1),但当我上传到appstore进行审查时,它被拒绝了。他们说摄像机的视角不起作用,他们得到的只是一个黑屏。 我真的不知道该怎么办,因为它对我很管用。我不能重现这个错误摄像头视图不显示';不能在iPhone上工作,只能在另一台上工作,iphone,xcode,opengl-es,view,camera,Iphone,Xcode,Opengl Es,View,Camera,我制作了一个iPhone应用程序,主要功能是摄像头视图。它通过OpenGL处理相机图像,所以我可以修改帧。 当我测试我的应用程序时,它工作正常(我在荷兰有一个iPhone4SiOS5.1),但当我上传到appstore进行审查时,它被拒绝了。他们说摄像机的视角不起作用,他们得到的只是一个黑屏。 我真的不知道该怎么办,因为它对我很管用。我不能重现这个错误 有没有像我一样有同样问题的人?或者是知道该怎么做的人?你不会说你是否使用OpenGL ES 2.0来做这件事,但如果你这样做,他们可能会在缺乏2
有没有像我一样有同样问题的人?或者是知道该怎么做的人?你不会说你是否使用OpenGL ES 2.0来做这件事,但如果你这样做,他们可能会在缺乏2.0支持的iPhone 3G上测试你的应用程序。通过将
opengles-2
键添加到Info.plist中的UIRequiredDeviceCapabilities
,可以筛选出那些不受支持的设备
第二种可能性是,您试图显示的摄像头图像超过了测试仪设备的最大OpenGL ES纹理大小,但在比iPad2旧的设备上,这个最大纹理大小是2048x2048。在iPad2、新款视网膜iPad和iPhone4S上,纹理大小为4096x4096。iPhone4可以捕捉到超过2048像素宽的图像,这也许可以解释为什么你的相机视图可以在iPhone4S上工作,但在旧的硬件上会显示黑色图像
您使用的OpenGL ES扩展在旧硬件上是不存在的,但我认为A5芯片中最近添加的任何扩展都不会对图像处理有用。我认为较新的硬件还支持更多的纹理单元、属性和变量,但我需要检查一下
这就是为什么我总是尝试在最古老的硬件上进行测试,这些硬件具有我在应用程序中所需的最低功能,因为不同的设备GPU处理事情的方式存在细微的差异。我没有包括框架,在iphone 4s上这是不必要的,这是iphone 4上的…首先感谢您的反应。我发现了问题,它在iPhone4上不起作用,但在iPhone4S上起作用。我得到一个错误:加载顶点着色器失败,这表明未找到该着色器。但它可以在iPhone4S上找到。知道这是什么吗?