Unity3D游戏在Xcode 9中崩溃 - iOS 11

Gur*_*uru 6 iphone xcode unity-game-engine ios11 xcode9

今天我在Xcode 9,iPhone 6运行iOS 11上推出了完全可用的Unity3D游戏.它在发布时崩溃了.

每次崩溃都在相同的功能:SetupMetalFBO

这是控制台日志:

validateRenderPassDescriptor:487: failed assertion `Texture at colorAttachment[0] has usage (0x01) which doesn't specify MTLTextureUsageRenderTarget (0x04)'
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

相同的代码与Xcode 8.3.3 iOS 10完美配合.

如何修复Xcode 9中的崩溃?


UPDATES_SOLUTION:

解决方案很简单,只需转到Xcode-> Product-> Scheme-> Edit Scheme,禁用Metal API验证.这个修复崩溃. 在此输入图像描述

Pro*_*mer 4

错误MTLTextureUsageRenderTarget中的 表明这是 Apple 的 Metal 问题。

Unity 4.6.9 在 iOS 11 上运行已经非常老了,并且不再修补以修复 iOS 等平台上的问题。您还应该担心您的最新应用程序会因 IPv6 兼容性问题而被应用程序商店拒绝。

您有三个选择:

1.在Xcode中禁用Metal API验证

2.使用OpenGLES代替Metal。

首先,禁用 Auto Graphics API,然后在 Unity 的播放器设置中将 iOS Graphics API 更改为 OpenGLES2 或 OpenGLES3。

在此输入图像描述

3 .如果#1#2失败,请将 Unity 更新到最新版本的 Unity 。如果您更新 Unity 并且问题仍然存在,那么您可以向编辑器提交错误报告。我希望如果您更新 Unity,这个问题就会消失。