iphone - 相机 View 在 iPhone 上不起作用,但在其他 iPhone 上起作用

标签 iphone xcode opengl-es view camera

我制作了一个以相机 View 为主要功能的 iPhone 应用程序。它通过 OpenGL 处理相机图像,因此我可以修改帧。 当我测试我的应用程序时,它工作正常(我在荷兰有一台 iPhone 4s Ios 5.1),但是当我将其上传到应用程序商店进行审核时,它被拒绝了。他们说摄像头 View 不起作用,并且只看到黑屏。 我真的不知道该怎么办,因为这对我来说很好。我无法重现该错误。

有人和我遇到同样的问题吗?或者有人知道该怎么做?

最佳答案

您没有说明是否使用 OpenGL ES 2.0 来执行此操作,但如果您这样做,则他们可能在缺乏 2.0 支持的 iPhone 3G 上测试了您的应用程序。您可以通过将 opengles-2 键添加到 Info.plist 中的 UIRequiredDeviceCapability 来过滤掉那些不受支持的设备。

第二种可能性是您尝试显示的相机图像超出了测试仪设备的最大 OpenGL ES 纹理大小。 You can check this size ,但在早于 iPad 2 的设备上,此最大纹理尺寸为 2048x2048。在 iPad 2、新款 Retina iPad 和 iPhone 4S 上,纹理尺寸为 4096x4096。 iPhone 4 可以拍摄宽度超过 2048 像素的图像,这或许可以解释为什么您的相机 View 在 iPhone 4S 上正常工作,但在较旧的硬件上显示黑色图像。

还有一种可能性是,您正在使用旧硬件上不存在的 OpenGL ES 扩展,但我认为 A5 芯片中最近添加的任何内容对于图像处理都没有用处。我认为较新的硬件还支持更多数量的纹理单元、属性和变化,但我需要检查一下。

这就是为什么我总是尝试在具有应用程序所需的最低功能的最旧硬件上进行测试,因为不同设备 GPU 处理事物的方式存在细微的差异。

关于iphone - 相机 View 在 iPhone 上不起作用,但在其他 iPhone 上起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9886502/

相关文章:

ios - 导航栏标签栏渐变色

iphone - 初学者 iphone 问题 : drawing a rectangle. 我做错了什么?

iphone - 在 iPhone 上的 UILabel 中查找特定字符的位置

iphone - cocos2d中如何制作双目效果?

objective-c - 调试 Objective C JNI 代码

ios - 我的 ActivityIndi​​cator 不调整大小

ios - 在 Xcode 上索引文本

android - 删除并重新添加包含 glSurfaceView 的线性布局,导致屏幕上不绘制任何内容

objective-c - 为什么在适用于 iOS 的 OpenGL ES 中使用 GL_UNSIGNED_SHORT 时会收到 EXC_BAD_ACCESS?

java - 较远的平面渲染在较近的平面前面