我们即将在 iOS 应用商店推出一款游戏,但我们最近发现它无法在 iOS 8 上运行。游戏加载到黑屏,但其他一切似乎都正常(音乐可以听说,它对触摸屏有反应,显示屏上什么也没有)。
我们的引擎很旧,使用的是 OpenGL ES 1.1。我现在确信这是问题所在,因为我已经尝试了另一个呈现黑屏的(旧)教程。
我在网上查找过有关此问题的任何讨论,但似乎找不到任何内容。有没有人有任何 1.1 应用程序,他们可以确认已经停止工作,或者工作?
我现在正在研究将引擎更新到 2.0 的任务,考虑到项目的规模以及我们即将发布的事实,这是一项不小的壮举。 Apple 什么都不说就放弃对 1.1 的支持是没有意义的,所以我希望我在这方面弄错了。
最佳答案
我遇到了同样的问题。解决方法是 - 不要添加 subview
//[self.window addSubview:glView]; // this produces black screen on ios8 devices
[self setView: glView];
关于 ios8 的另一个技巧是,对于横向应用程序,此代码
const CGRect r = [[UIScreen mainScreen] bounds];
返回横向屏幕尺寸。对于 iOS <8,它始终是纵向屏幕尺寸。所以现在我对 X 使用 max(x,y),对 Y 使用 min(x,y)。
关于ios 8 opengl es 1.1 停产了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26089763/